Heim > Backend-Entwicklung > PHP-Tutorial > 【求思路】PHP目录扫描,最大防止死循环的思路?

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

WBOY
Freigeben: 2016-06-23 14:25:10
Original
1075 Leute haben es durchsucht

目录扫描 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";
Nach dem Login kopieren

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

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

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

直接使用扩展
Directories

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

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

哇 1楼强大啊

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage