php - 列出子文件夹问题的文件

标签 php mysql

我在一个文件夹中有数百万个文件,该文件夹中有几个子文件夹,每个子文件夹包含数千个文件。我能够使用 glob 函数列出给定文件夹的所有文件,但在这种情况下,由于它非常高,我收到了 php fatal error 。 allowed memory size exhausted 尝试分配更多内存 我知道这可以通过在该子文件夹中保留一个 php.ini 文件来完成,但我真正想要的是按降序列出所有 .txt 扩展名大小,这样较大的文件将位于顶部较小的文件将位于底部,但正如我所说,不可能列出数百万个文件,所以就像 mysql 一样,我可以按页面列出它们,或者当我单击下一步时,前 100 个文件将按降序排列页面将显示接下来的 100-200 个项目,但我不想使用数据库,如果没有其他方法我可以将所有这些详细信息存储在数据库中而不会导致服务器负载过重。

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

最佳答案

使用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');

关于php - 列出子文件夹问题的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15026692/

相关文章:

mysql - Mysql导入一个大的sql文件需要很长时间是正常的吗?

mysql - 自定义 MYSQL 自定义排序顺序

php - Laravel foreach in 方法仅返回最后一个结果

php - 我真的需要专用 IP 地址来向 APNS 发送推送通知吗

php - PDO 语句获取 - 无法访问空属性

php - htaccess 在一台服务器上工作正常并在另一台服务器上导致重定向循环

Mysql准备做2014年每月分区

php - 修复 file_get_contents 权限被拒绝的错误

mysql - 查找表中在同一数据库的任何其他表中没有引用的所有行

mysql - 错误 1215 : Cannot add foreign key constraint when using ON DELETE SET NULL