ディレクトリ内のすべてのファイルをループするために、php で次のコードを作成しました。
$dir = new DirectoryIterator(dirname(__FILE__));
$files = scandir($dir.'/');
foreach($files as $file)
{
echo $file;
echo "\n";
}
ただし、ディレクトリの複数のサブディレクトリ内のすべてのファイルを一覧表示することはできません。
ディレクトリ内のすべてのファイルをループするために、php で次のコードを作成しました。
$dir = new DirectoryIterator(dirname(__FILE__));
$files = scandir($dir.'/');
foreach($files as $file)
{
echo $file;
echo "\n";
}
ただし、ディレクトリの複数のサブディレクトリ内のすべてのファイルを一覧表示することはできません。
使用するRecursiveDirectoryIterator
<?php
$path = realpath('/etc');
$objects = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path), RecursiveIteratorIterator::SELF_FIRST);
foreach($objects as $name => $object){
echo "$name\n";
}
?>
代わりにこれを試してください。 PHPマニュアルでこれを参照してください
function loop_dir($dir) {
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir),
RecursiveIteratorIterator::CHILD_FIRST);
foreach ($iterator as $path) {
echo $path
}
}
このように簡単です:
$dir = dir('DIRECTORY_TO_DISPLAY_HERE');
while (($file = $dir->read()) !== false) {
if ($file != '..' && $file != '.') {
echo $file;
}
}
$dir->close();