1

我在一个文件夹中有数百万个文件,该文件夹中有几个子文件夹,每个子文件夹包含数千个文件。我可以使用 glob 函数列出给定文件夹的所有文件,但在这种情况下,由于它非常高,我收到了 php 致命错误。允许的内存大小用尽尝试分配更多内存我知道这可以通过在该子文件夹中保留一个 php.ini 文件来完成,但我真正想要的是列出所有。

     <?php
      foreach (glob("files/*") as $filename) {
       echo "uploads/" . "$filename" .  "\n</br>";
    }
    ?>
4

1 回答 1

0

使用opendir代替 glob();

尝试这样的事情:

function printdirs($path) { 
if ($handle = opendir($path)) {
    while (false !== ($entry = readdir($handle))) {
        if ($entry != "." && $entry != "..") {
            if(is_dir($path.'/'.$entry))
                printdirs($path.'/'.$entry);
            else
            echo $path . "/" . $entry .  "\n</br>";
        }
    }
    closedir($handle);
}}

printdirs('uploads');
于 2013-02-22T14:49:13.337 回答