ホームページ  >  記事  >  バックエンド開発  >  PHP は、サブディレクトリを含むディレクトリ内のファイルを再帰的に取得します。

PHP は、サブディレクトリを含むディレクトリ内のファイルを再帰的に取得します。

巴扎黑
巴扎黑オリジナル
2016-11-12 10:15:011341ブラウズ

メソッドにカプセル化されたコードは次のとおりです:

Php コード

function readFileFromDir($dir) {  
    if (!is_dir($dir)) {  
        return false;  
    }  
    //打开目录  
    $handle = opendir($dir);  
    while (($file = readdir($handle)) !== false) {  
        //排除掉当前目录和上一个目录  
        if ($file == "." || $file == "..") {  
            continue;  
        }  
        $file = $dir . DIRECTORY_SEPARATOR . $file;  
        //如果是文件就打印出来,否则递归调用  
        if (is_file($file)) {  
            print $file . &#39;<br />&#39;;  
        } elseif (is_dir($file)) {  
            readFileFromDir($file);  
        }  
    }  
}

メソッドの呼び出し:

$dir = '/home/www/test'

PHPマニュアルを見ると、scandirという別のメソッドも使用できますが、このメソッドは、ファイルが多数ある場合、単一レベルのディレクトリ内のすべてのファイルを一度に取得し、配列に格納します。ディレクトリを削除すると、スタックしてしまいます。

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