如何查找目錄或文件夾及其子目錄或子文件夾的所有文件名。 我使用的是scandir()
,但它僅從根目錄返回文件和子目錄名稱。 如果有人有解決方案,那麼請建議。如何在php中列出目錄及其子目錄的所有文件?
<?php
$dir = 'mydir/';
$files = scandir($dir);
?>
如何查找目錄或文件夾及其子目錄或子文件夾的所有文件名。 我使用的是scandir()
,但它僅從根目錄返回文件和子目錄名稱。 如果有人有解決方案,那麼請建議。如何在php中列出目錄及其子目錄的所有文件?
<?php
$dir = 'mydir/';
$files = scandir($dir);
?>
我找到了解決辦法。 我已經創建了一個腳本,通過使用它我們可以獲取或列出目錄及其子目錄的所有文件。 其工作fine.In有MYDIR假定爲目錄路徑
function listDirFiles($dir){
foreach(glob("$dir/*") as $ff){
is_dir($ff) ? listDirFiles($ff) : $GLOBALS['a'][] = basename($ff);
}
}
listDirFiles('mydir');
echo "<pre>", print_r($GLOBALS['a']), "</pre>";
試試這個
$filelist = array();
if ($handle = opendir("."))
{
while ($entry = readdir($handle)) {
if (is_file($entry)) {
$filelist[] = $entry;
}
}
echo "<pre>";
print_r($filelist);
closedir($handle);
}
答案here可以給你更多的光。
我會做什麼(如在答案中)是爲每個目錄運行一個foreach循環,然後列出目錄中的文件。基本上只是沖洗和重複。在Linux中,PHP的功能類似於ls
命令,其功能類似於scandir()
。
這是我在我的項目中使用的,這將只返回文件,但不是文件夾,它是遞歸的。
$dir = new RecursiveIteratorIterator(new RecursiveDirectoryIterator("mydir/"));
$dir->setFlags(4096 | 8192);
foreach ($dir as $value) {
echo $dir->getSubPathname();
}
它也列出子目錄名。我只想要文件名。 –
@AmitRajput我已更新回答 –
它也無法正常工作。其上市只有.php文件。 –