ホームページ  >  記事  >  PHP ディレクトリ トラバーサル操作

PHP ディレクトリ トラバーサル操作

无忌哥哥
无忌哥哥オリジナル
2018-06-28 11:01:272395ブラウズ

* ディレクトリトラバーサル操作:

* 1. 従来のプロセス関数: opendir()、readdir()、closedir()

* 2. ディレクトリスキャナ: scandir()

* 最初の方法: 従来のディレクトリ関数

*最初のステップ: opendir('directory') はディレクトリを開き、正常にリソースを返し、失敗した場合は false を返します

* 2 番目のステップ: readdir($dir) はディレクトリの内容を読み取り、Shigong はファイル名を返し、失敗した場合は false を返します

* 3 番目のステップ: Closedir($dir) は現在のディレクトリを閉じます

$dir = opendir('../0418') or die('打开失败');
// $dir = opendir('./') or die('打开失败');  //.或./当前目录
while (false != ($file = readdir($dir))) {
// print $file."<br>";
// print nl2br($file."\n");
if ($file != "." && $file != "..") {      
print $file."<br>";
     }
}
closedir($dir);
echo &#39;<hr>&#39;;

* 2 番目の方法: トラバーサルのためにディレクトリの内容を配列に保存します

* 最初のステップ: scandir($dir) はディレクトリを配列に転送しますそしてそれを保存します

* ステップ 2: ディレクトリ配列を走査します

//ディレクトリの内容を配列に読み取ります:

$fileArr = scandir(&#39;../0417/&#39;);
// print_r($fileArr);
foreach ($fileArr as $file) {
if ($file != "." && $file != "..") {
        echo "$file<br>";
     }
}

//説明: すべてのディレクトリを再帰したい場合は、カスタム関数を記述する必要があります。問題を解決するには、より便利な方法である再帰走査技術を導入します

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