首頁 > 後端開發 > php教程 > 【求思路】PHP目录扫描,最大防止死循环的思路?

【求思路】PHP目录扫描,最大防止死循环的思路?

WBOY
發布: 2016-06-23 14:25:10
原創
1069 人瀏覽過

目录扫描 PHP opendir

PHP扫描某个文件夹,防止死循环的思路。
现在自己想到的只有两种思路
1, while 扫描下去,如果碰到目录继续while。容易死机卡住
2,层级扫描,扫描一层然后保存目录地址到记录文件。然后再从保存的记录文件中提取目录地址再扫描一层,每次只扫描一层。不过如果目录太多,还是容易死机。
有没有更好的思路?

回复讨论(解决方案)

可以用迭代器呀
示例

$ite=new RecursiveDirectoryIterator("./");$bytestotal=0;$nbfiles=0;foreach (new RecursiveIteratorIterator($ite) as $filename=>$cur) {    $filesize=$cur->getSize();    $bytestotal+=$filesize;    $nbfiles++;    echo "$filename => $filesize\n";}$bytestotal=number_format($bytestotal);echo "Total: $nbfiles files, $bytestotal bytes\n";
登入後複製

Filesystem这个东西能解决你的问题吗?

SPL已经帮你解决这个问题,代码看#1

1楼的代码收藏了,又学到东西了。

直接使用扩展
Directories

SPL已经帮你解决这个问题,代码看#1

确实不错,不过还是有的时候会卡死。。。

哇 1楼强大啊

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板