ホームページ  >  記事  >  バックエンド開発  >  php_PHP チュートリアルのディレクトリ トラバーサル検索の実装コード

php_PHP チュートリアルのディレクトリ トラバーサル検索の実装コード

WBOY
WBOYオリジナル
2016-07-13 16:59:361036ブラウズ

この記事では、phpの2つの重要なディレクトリ操作関数を使用して、ディレクトリとディレクトリ内のファイルを横断する実装方法を実現します。以下の例を見てみましょう。

コードは次のとおりですコードをコピーdirectory がディレクトリではない場合、ブール値の false を返し、E_WARNING レベルのエラーを生成します。

関数リストファイル($path){

$結果 = 配列(); foreach(glob($path.''."*") as $item){
$result[strto lower($item)] = $item
if(is_dir($item)){
$result += listFiles($item); }
}
$結果を返す
}
$path = 'E:ウェブディアンル'; foreach(listFiles($path) as $item){
echo $item.'
'; }


関数 listFiles($path){
$結果 = 配列(); foreach( scandir($path) as $item ){
if($item != '.' && $item != '..' ){ $item = $path.''.$item; $result[strto lower($item)] = $item

if(is_dir($item)){
$result += listFiles($item); }
}
}
$結果を返す
}
$path = 'E:ウェブディアンル'; foreach(listFiles($path) as $item){
echo $item.'
'; }
?>






使用した関数

scandir() 関数は、指定されたパス内のファイルとディレクトリを含む配列を返します。

成功した場合は配列を返し、失敗した場合は false を返します。

文法

リーリー

パラメータ 説明

ディレクトリ

必須。スキャンするディレクトリを指定します。 オプション。並べ替えの順序を指定します。デフォルトは 0 (昇順) です。 1の場合は降順。 オプション。ディレクトリハンドルの環境を指定します。 context は、ディレクトリ ストリームの動作を変更できるオプションのセットですこの関数は、一致するファイル/ディレクトリを含む配列を返します。エラーが発生した場合は false を返します。
並べ替え
コンテキスト
次に別の関数を見てみましょう glob() 関数は、指定されたパターンに一致するファイル名またはディレクトリを返します。
文法 リーリー

パラメータ

説明

ファイル

必須。検索モードを指定します。 オプション。特別な設定を指定します。 GLOB_NOSORT - ディレクトリ内の元の出現順序でファイルを返します (ソートされていません) http://www.bkjia.com/PHPjc/631303.html
サイズ
GLOB_MARK - 返品された各商品にスラッシュを追加します
GLOB_NOCHECK - 一致するファイルがない場合の検索に使用されるパターンを返します GLOB_NOESCAPE - バックスラッシュはメタキャラクターをエスケープしません

GLOB_BRACE - {a,b,c} を展開して 'a'、'b' または 'c' に一致させます
  • GLOB_ONLYDIR - パターンに一致するディレクトリ エントリのみを返します
  • GLOB_ERR - エラー メッセージ (読み取り不能なディレクトリなど) を停止して読み取ります。デフォルトではすべてのエラーを無視します
  • 注: GLOB_ERR は PHP 5.1 で追加されました

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/631303.html

技術記事

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。