• 技术文章 >后端开发 >php教程

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

    2016-06-23 14:25:10原创635

    目录扫描 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楼强大啊

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:总是搞不懂foreach怎么这样遍历这样的数组 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 聊聊php怎么让Swoole/Pool进程池实现Redis持久连接• 一文解析PHP元转分的错误示范(附代码实例)• PHP+Socket系列之实现websocket聊天室• 聊聊PHP escapeshellarg函数使用的中文问题• PHP+Socket系列之IO多路复用及实现web服务器
    1/1

    PHP中文网