本篇文章為大家展示了PHP中對目錄進行遞歸的方法有哪些,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
成都創新互聯從2013年開始,先為坪山等服務建站,坪山等地企業,進行企業商務咨詢服務。為坪山企業網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。方法一:使用glob循環
<?php //方法一:使用glob循環 function myscandir1($path, &$arr) { foreach (glob($path) as $file) { if (is_dir($file)) { myscandir1($file . '/*', $arr); } else { $arr[] = realpath($file); } } } ?>
方法二:使用dir && read循環
<?php //方法二:使用dir && read循環 function myscandir2($path, &$arr) { $dir_handle = dir($path); while (($file = $dir_handle->read()) !== false) { $p = realpath($path . '/' . $file); if ($file != "." && $file != "..") { $arr[] = $p; } if (is_dir($p) && $file != "." && $file != "..") { myscandir2($p, $arr); } } } ?>
方法三:使用opendir && readdir循環
<?php //方法三:使用opendir && readdir循環 function myscandir3($path, &$arr) { $dir_handle = opendir($path); while (($file = readdir($dir_handle)) !== false) { $p = realpath($path . '/' . $file); if ($file != "." && $file != "..") { $arr[] = $p; } if (is_dir($p) && $file != "." && $file != "..") { myscandir3($p, $arr); } } } ?>
方法四:使用scandir循環
<?php //方法四:使用scandir循環 function myscandir4($path, &$arr) { $dir_handle = scandir($path); foreach ($dir_handle as $file) { $p = realpath($path . '/' . $file); if ($file != "." && $file != "..") { $arr[] = $p; } if (is_dir($p) && $file != "." && $file != "..") { myscandir4($p, $arr); } } } ?>
方法五:使用SPL循環
<?php //方法五:使用SPL循環 function myscandir5($path, &$arr) { $iterator = new DirectoryIterator($path); foreach ($iterator as $fileinfo) { $file = $fileinfo->getFilename(); $p = realpath($path . '/' . $file); if (!$fileinfo->isDot()) { $arr[] = $p; } if ($fileinfo->isDir() && !$fileinfo->isDot()) { myscandir5($p, $arr); } } } ?>
可以用xdebug測試運行時間
<?php myscandir1('./Code',$arr1);//0.164010047913 myscandir2('./Code',$arr2);//0.243014097214 myscandir3('./Code',$arr3);//0.233012914658 myscandir4('./Code',$arr4);//0.240014076233 myscandir5('./Code',$arr5);//0.329999923706 //需要安裝xdebug echo xdebug_time_index(), "\n"; ?>
上述內容就是PHP中對目錄進行遞歸的方法有哪些,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創新互聯行業資訊頻道。
文章題目:PHP中對目錄進行遞歸的方法有哪些-創新互聯
網站地址:http://vcdvsql.cn/article36/cdijpg.html
成都網站建設公司_創新互聯,為您提供網站策劃、商城網站、虛擬主機、定制開發、企業建站、ChatGPT
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯