欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP實現(xiàn)遞歸目錄的5種方法

 更新時間:2016年10月27日 09:19:43   作者:chenpingzhao  
本篇文章主要介紹了PHP實現(xiàn)遞歸目錄的5種方法,主要是利用一些循環(huán)來實現(xiàn)的,感興趣的小伙伴們可以參考一下。

項目開發(fā)中免不了要在服務(wù)器上創(chuàng)建文件夾,比如上傳圖片時的目錄,模板解析時的目錄等。這不當(dāng)前手下的項目就用到了這個,于是總結(jié)了幾個循環(huán)創(chuàng)建目錄的方法。

方法一:使用glob循環(huán)

<?php
//方法一:使用glob循環(huán)
 
function myscandir1($path, &$arr) {
 
  foreach (glob($path) as $file) {
    if (is_dir($file)) {
      myscandir1($file . '/*', $arr);
    } else {
 
      $arr[] = realpath($file);
    }
  }
}
?>

方法二:使用dir && read循環(huán)

<?php
//方法二:使用dir && read循環(huán)
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循環(huán)

<?php
//方法三:使用opendir && readdir循環(huán)
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循環(huán)
 

<?php
//方法四:使用scandir循環(huán)
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循環(huán)

 <?php
//方法五:使用SPL循環(huán)
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";
?>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Yii2壓縮PHP中模板代碼的輸出問題

    Yii2壓縮PHP中模板代碼的輸出問題

    在Web開發(fā)中,無論是PHP的框架還是Python的框架,都會遇到使用模板的時候,在使用模板時會發(fā)現(xiàn)代碼混亂不堪,怎么解決呢?下面小編給大家?guī)砹薡ii2壓縮PHP中模板代碼的輸出問題,感興趣的朋友一起看看吧
    2018-08-08
  • laravel實現(xiàn)按月或天或小時統(tǒng)計mysql數(shù)據(jù)的方法

    laravel實現(xiàn)按月或天或小時統(tǒng)計mysql數(shù)據(jù)的方法

    今天小編就為大家分享一篇laravel實現(xiàn)按月或天或小時統(tǒng)計mysql數(shù)據(jù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • laravel通過創(chuàng)建自定義artisan make命令來新建類文件詳解

    laravel通過創(chuàng)建自定義artisan make命令來新建類文件詳解

    Laravel通過Artisan提供了強大的控制臺命令來處理非瀏覽器業(yè)務(wù)邏輯。下面這篇文章主要給大家介紹了關(guān)于laravel如何通過創(chuàng)建自定義artisan make命令來新建類文件的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-08-08
  • php 目錄遍歷、刪除 函數(shù)的使用介紹

    php 目錄遍歷、刪除 函數(shù)的使用介紹

    本篇文章介紹了,php 目錄遍歷、刪除 函數(shù)的使用分析。需要的朋友參考下
    2013-04-04
  • php使用Swoole實現(xiàn)毫秒級定時任務(wù)的方法

    php使用Swoole實現(xiàn)毫秒級定時任務(wù)的方法

    這篇文章主要介紹了php使用Swoole實現(xiàn)毫秒級定時任務(wù)的方法,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • Laravel5權(quán)限管理方法詳解

    Laravel5權(quán)限管理方法詳解

    這篇文章主要介紹了Laravel5權(quán)限管理方法,結(jié)合實例形式分析了Laravel5權(quán)限管理的具體操作步驟與相關(guān)注意事項,需要的朋友可以參考下
    2016-07-07
  • php項目接入xxl-job調(diào)度系統(tǒng)的示例詳解

    php項目接入xxl-job調(diào)度系統(tǒng)的示例詳解

    這篇文章主要介紹了php項目接入xxl-job調(diào)度系統(tǒng)的示例代碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • php注冊和登錄界面的實現(xiàn)案例(推薦)

    php注冊和登錄界面的實現(xiàn)案例(推薦)

    下面小編就為大家?guī)硪黄猵hp注冊和登錄界面的實現(xiàn)案例(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • PHP批量采集下載美女圖片的實現(xiàn)代碼

    PHP批量采集下載美女圖片的實現(xiàn)代碼

    最近在瀏覽某個美女網(wǎng)站,但是考慮到網(wǎng)速問題,這種網(wǎng)站打開速度慢,廣告多,隨機想到使用php采集一下這些美女圖片
    2013-06-06
  • 在Laravel 的 Blade 模版中實現(xiàn)定義變量

    在Laravel 的 Blade 模版中實現(xiàn)定義變量

    今天小編就為大家分享一篇在Laravel 的 Blade 模版中實現(xiàn)定義變量,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10

最新評論