この記事では、phpの2つの重要なディレクトリ操作関数を使用して、ディレクトリとディレクトリ内のファイルを横断する実装方法を実現します。以下の例を見てみましょう。
コードは次のとおりです
| コードをコピー
|
関数リストファイル($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 を返します。 | directory
がディレクトリではない場合、ブール値の false を返し、E_WARNING レベルのエラーを生成します。
文法
リーリー
パラメータ
説明
ディレクトリ
必須。スキャンするディレクトリを指定します。
|
並べ替え |
オプション。並べ替えの順序を指定します。デフォルトは 0 (昇順) です。 1の場合は降順。
|
コンテキスト |
オプション。ディレクトリハンドルの環境を指定します。 context は、ディレクトリ ストリームの動作を変更できるオプションのセットです
|
|
次に別の関数を見てみましょう |
glob() 関数は、指定されたパターンに一致するファイル名またはディレクトリを返します。 |
この関数は、一致するファイル/ディレクトリを含む配列を返します。エラーが発生した場合は false を返します。
文法
リーリー
パラメータ
説明
ファイル
必須。検索モードを指定します。
|
サイズ |
オプション。特別な設定を指定します。
|
GLOB_MARK - 返品された各商品にスラッシュを追加します |
GLOB_NOSORT - ディレクトリ内の元の出現順序でファイルを返します (ソートされていません)
GLOB_NOCHECK - 一致するファイルがない場合の検索に使用されるパターンを返します |
GLOB_NOESCAPE - バックスラッシュはメタキャラクターをエスケープしません
GLOB_BRACE - {a,b,c} を展開して 'a'、'b' または 'c' に一致させます
- GLOB_ONLYDIR - パターンに一致するディレクトリ エントリのみを返します
- GLOB_ERR - エラー メッセージ (読み取り不能なディレクトリなど) を停止して読み取ります。デフォルトではすべてのエラーを無視します
-
注: GLOB_ERR は PHP 5.1 で追加されました-
-
-
-
|
http://www.bkjia.com/PHPjc/631303.html
www.bkjia.comtruehttp://www.bkjia.com/PHPjc/631303.html
技術記事
この記事では、php の 2 つの重要なディレクトリ操作関数を使用して、ディレクトリとディレクトリ内のファイルを横断する実装方法を詳しく紹介しました...。