PHP 列出目录中的所有文件
我已经看到了列出目录中所有文件的函数,但是我如何列出子目录中的所有文件,因此它返回一个数组?
$files = files("foldername");
所以是类似于$files
array("file.jpg", "blah.word", "name.fileext")
我已经看到了列出目录中所有文件的函数,但是我如何列出子目录中的所有文件,因此它返回一个数组?
$files = files("foldername");
所以是类似于$files
array("file.jpg", "blah.word", "name.fileext")
foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator('.')) as $filename)
{
// filter out "." and ".."
if ($filename->isDir()) continue;
echo "$filename\n";
}
PHP 文档:
所以你正在寻找一个递归目录列表?
function directoryToArray($directory, $recursive) {
$array_items = array();
if ($handle = opendir($directory)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
if (is_dir($directory. "/" . $file)) {
if($recursive) {
$array_items = array_merge($array_items, directoryToArray($directory. "/" . $file, $recursive));
}
$file = $directory . "/" . $file;
$array_items[] = preg_replace("/\/\//si", "/", $file);
} else {
$file = $directory . "/" . $file;
$array_items[] = preg_replace("/\/\//si", "/", $file);
}
}
}
closedir($handle);
}
return $array_items;
}