PHP中对目录进行递归的方法有哪些

  介绍

本篇文章为大家展示了PHP中对目录进行递归的方法有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

<强>方法一:使用一滴循环

& lt; PHP ?//方法一:使用一滴循环   ,   function  myscandir1(路径,美元和美元arr), {   ,   foreach 才能;(水珠(路径)美元,as 美元文件),{   ,,,if  (is_dir(文件)美元),{   ,,,,,myscandir1 (file 美元;只& # 39;/* & # 39;,,arr美元);   ,,,},{else    ,   ,,,,,arr[],美元=,realpath($文件);   ,,,}   ,,}   }   祝辞;

<强>方法二:使用dir,,读循环

& lt; php ?//方法二:使用dir ,,,读循环   function  myscandir2(路径,美元和美元arr), {   ,   时间=美元才能dir_handle  dir($路径);   while 才能;(($ file =,美元dir_handle→读()),!==,false), {   ,   ,,,p 美元;=,realpath (path 美元;只& # 39;/& # 39;,只美元文件);   ,,,if  (file 美元;!=,“干净,,,,file 美元;!=,“…“),{   ,,,,,arr[],美元=,$ p;   ,,,}   ,   ,,,if  (is_dir ($ p),,,, file 美元;!=,“干净,,,,file 美元;!=,“…“),{   ,,,,,myscandir2 ($ p,, $ arr);   ,,,}   ,,}   }   祝辞;

<强>方法三:使用opendir,,readdir循环

& lt; php ?//方法三:使用opendir ,,, readdir循环   function  myscandir3(路径,美元和美元arr), {   ,,   美元才能dir_handle =, opendir($路径);   while 才能;(($ file =, readdir (dir_handle美元)),!==,false), {   ,   ,,,p 美元;=,realpath (path 美元;只& # 39;/& # 39;,只美元文件);   ,,,if  (file 美元;!=,“干净,,,,file 美元;!=,“…“),{   ,,,,,arr[],美元=,$ p;   ,,,}   ,,,if  (is_dir ($ p),,,, file 美元;!=,“干净,,,,file 美元;!=,“…“),{   ,,,,,myscandir3 ($ p,, $ arr);   ,,,}   ,,}   }   ,?在

<强>,方法四:使用scandir循环
,

& lt; php ?//方法四:使用scandir循环   function  myscandir4(路径,美元和美元arr), {   ,,   时间=美元才能dir_handle  scandir($路径);   foreach 才能;(dir_handle 美元;as  $文件),{   ,   ,,,p 美元;=,realpath (path 美元;只& # 39;/& # 39;,只美元文件);   ,,,if  (file 美元;!=,“干净,,,,file 美元;!=,“…“),{   ,,,,,arr[],美元=,$ p;   ,,,}   ,,,if  (is_dir ($ p),,,, file 美元;!=,“干净,,,,file 美元;!=,“…“),{   ,,,,,myscandir4 ($ p,, $ arr);   ,,,}   ,,}   }   ,?在

<强>方法五:使用SPL循环

, php & lt; ?//方法五:使用SPL循环   function  myscandir5(路径,美元和美元arr), {   ,   时间=美元才能iterator  new  DirectoryIterator($路径);   foreach 才能;(iterator 美元;as  fileinfo美元),{   ,   ,,,file 美元;=,美元fileinfo→getFilename ();   ,,,p 美元;=,realpath (path 美元;只& # 39;/& # 39;,只美元文件);   ,,,if  (! $ fileinfo→isDot ()), {   ,,,,,arr[],美元=,$ p;   ,,,}   ,,,if (美元fileinfo→isDir (),,,, ! fileinfo→美元isDot ()), {   ,,,,,myscandir5 ($ p,, $ arr);   ,,,}   ,,}   }   祝辞;

,可以用xdebug测试运行时间

& lt; php ?   myscandir1(& # 39;。/代码# 39;,arr1美元);//0.164010047913,   myscandir2(& # 39;。/代码# 39;,arr2美元);//0.243014097214,   myscandir3(& # 39;。/代码# 39;,arr3美元);//0.233012914658,   myscandir4(& # 39;。/代码# 39;,arr4美元);//0.240014076233   myscandir5(& # 39;。/代码# 39;,arr5美元);//0.329999923706   ,   ,//需要安装xdebug   echo  xdebug_time_index (),“\ n";   ?在

上述内容就是PHP中对目录进行递归的方法有哪些,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

PHP中对目录进行递归的方法有哪些