2015-11-04 136 views

回答

0

我找到了解决办法。 我已经创建了一个脚本,通过使用它我们可以获取或列出目录及其子目录的所有文件。 其工作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>"; 
0

试试这个

$filelist = array(); 
    if ($handle = opendir(".")) 
    { 
    while ($entry = readdir($handle)) { 
     if (is_file($entry)) { 
      $filelist[] = $entry; 
     } 
    } 
    echo "<pre>"; 
print_r($filelist); 
closedir($handle); 
} 
+0

它也列出子目录名。我只想要文件名。 –

+0

@AmitRajput我已更新回答 –

+0

它也无法正常工作。其上市只有.php文件。 –

0

答案here可以给你更多的光。

我会做什么(如在答案中)是为每个目录运行一个foreach循环,然后列出目录中的文件。基本上只是冲洗和重复。在Linux中,PHP的功能类似于ls命令,其功能类似于scandir()

0

这是我在我的项目中使用的,这将只返回文件,但不是文件夹,它是递归的。

$dir = new RecursiveIteratorIterator(new RecursiveDirectoryIterator("mydir/")); 
$dir->setFlags(4096 | 8192); 

foreach ($dir as $value) { 
    echo $dir->getSubPathname(); 
} 
相关问题