我在一个文件夹中有数百万个文件,该文件夹中有几个子文件夹,每个子文件夹由数千个文件组成。我能够使用glob函数列出给定文件夹的所有文件,但在这种情况下,因为它非常高我得到php致命错误。允许内存大小耗尽尝试分配更多内存我知道可以通过在该子文件夹中保留一个php.ini文件来完成,但我真正想要的是按降序列出所有.txt扩展名大小,以便更大的文件将位于顶部最小的文件将在底部,但正如我所说,它不可能列出数百万的文件,所以就像mysql我可以在页面中列出它们或类似前100名文件将按降序列出当我点击下一步页面,它将显示下一个100-200项,但我不想使用数据库,如果没有其他方式如何我可以将所有这些细节存储在数据库中,而不会在服务器上造成重负荷。
<?php
foreach (glob("files/*") as $filename) {
echo "uploads/" . "$filename" . "\n</br>";
}
?>
答案 0 :(得分:0)
使用opendir而不是blob(); 尝试这样的事情:
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');