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

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

目录扫描 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 => $filesizen";}$bytestotal=number_format($bytestotal);echo "Total: $nbfiles files, $bytestotal bytesn";

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

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

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


直接使用扩展

Directories

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


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






哇 1楼强大啊

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zaji/478138.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018-06-02
下一篇 2018-06-02

发表评论

登录后才能评论

评论列表(0条)

保存