こんにちは私は以下の関数を繰り返し実行しようとしています。それはすべてのディレクトリを捨てて、そこにすべてのファイルを私に渡します。PHP - ディレクトリを再帰的から反復的にブラウズする
function getFilesFromDirectory($directory, &$results = array()){
$files = scandir($directory);
foreach($files as $key => $value){
$path = realpath($directory.DIRECTORY_SEPARATOR.$value);
if(!is_dir($path)) {
$results[] = $path;
} else if($value != "." && $value != "..") {
getFilesFromDirectory($path, $results);
$results[] = $path;
}
}
return $results;
}
この機能を反復可能にすることは可能ですが、どうすればこのようにすることができますか。
私はそうは思わない。ディレクトリツリーはツリーです。あなたはあらかじめそれがどれだけ深いか分かりません。 –
確かに可能です、私の答えを見てください。 – JParkinson1991
プッシュ/ポップ操作を再帰的な関数呼び出しからデータ構造に移動する必要はありません。つまり、コードを反復することはできますが(あるコストで)、操作はできません。これで何を達成しようとしていますか? – symcbean