<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            php語言

            用PHP遍歷目錄下的全部文件

            時間:2025-03-17 12:39:12 php語言 我要投稿
            • 相關推薦

            用PHP遍歷目錄下的全部文件

              項目中有這么一個需求,需要遍歷某個文件夾(目錄)下的所有文件。下面是解決這個問題所寫的PHP代碼,歡迎閱讀,更多消息請關注應屆畢業生網。

              第一種實現辦法是用dir返回對象,第二種實現辦法:用readdir()函數。

              /**********************

              一個簡單的目錄遞歸函數

              第一種實現辦法:用dir返回對象

              ***********************/

              function tree($directory)

              {

              $mydir = dir($directory);

              echo "

              ";

              while($file = $mydir->read())

              {

              if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!=".."))

              {

              echo "

              $file

              ";

              tree("$directory/$file");

              }

              else

              echo "

              $file

              ";

              }

              echo "

              ";

              $mydir->close();

              }

              //開始運行

              echo "

              目錄為粉紅色

              ";

              tree("./nowamagic");

              /***********************

              第二種實現辦法:用readdir()函數

              ************************/

              function listDir($dir)

              {

              if(is_dir($dir))

              {

              if ($dh = opendir($dir))

              {

              while (($file = readdir($dh)) !== false)

              {

              if((is_dir($dir."/".$file)) && $file!="." && $file!="..")

              {

              echo "文件名:",$file,"

              ";

              listDir($dir."/".$file."/");

              }

              else

              {

              if($file!="." && $file!="..")

              {

              echo $file."

              ";

              }

              }

              }

              closedir($dh);

              }

              }

              }

              //開始運行

              listDir("./nowamagic");

              ?>

              拓展:PHP遞歸復制、移動目錄的自定義函數操作分

              雖然復制一個目錄是文件操作的基本功能。但PHP中也沒有給出特定的函數,同樣需要自定義一個遞歸函數實現。要復制一個包含多個子目錄的目錄,將涉及文件的復制、目錄創建等操作。復制一個文件可以通過PHP提供的copy()函數完成,創建目錄可以使用mkdir()函數。定義函數時,首先對源目錄進行遍歷,如果遇到的是普通文件,直接使用copy()函數進行復制。如果遍歷時遇到一個目錄,則必須建立該目錄,然后再對該目錄下的文件進行復制操作,如果還有子目錄,則使用遞歸重復操作,最終將整個目錄復制完成。自定義的遞歸函數復制目錄的程序代碼如下所示:

              復制代碼 代碼如下:

              <?php

              //自定義函數遞歸的復制帶有多級子目錄的目錄

              function copyDir($dirSrc,$dirTo){

              if(is_file($dirTo)){ //如果目標不是一個目錄則退出

              echo "目標不是目錄不能創建!!";

              return; //退出函數

              }

              if(!file_exists($dirTo)){ //如果目標不是一個目錄則退出

              mkdir($dirTo); //創建目錄

              }

              if($dir_handle = @opendir($directory)){ //打開目錄,并判斷是否能成功打開

              while($filename = readdir($dir_handle)){ //循環遍歷目錄下的所有文件

              if($filename != "."&& $filename != ".."){ //一定要排除兩個特殊的目錄

              $subFile = $directory."/".$filename; //將目錄下的子文件和當前目錄相連

              $sunToFile = $dirTo."/".$filename; //將目標目錄的多級子目錄相連

              if(is_dir($subSrcFile)) //如果為目錄則條件成立

              copyDir($subSrcFile,$subToFile); //遞歸調用自己復制子目錄

              if(is_file($subSrcFile)) //如果是文件則條件成立

              copy($subSrcFile,$subToFile); //直接復制到目標位置

              }

              }

              losedir($dir_handle); //關閉文件資源

              }

              }

              //測試函數,將目錄“phpMyAdmin”復制到“D:/admin”

              copyDir("phpMyAdmin","D:/admin");

              ?>

              從安全和跨平臺等方面考慮,盡量不要去調用操作系統的SHELL命令“cp-a”完成目錄的復制。

            【用PHP遍歷目錄下的全部文件】相關文章:

            php遍歷替換目錄下文件指定內容04-06

            php遞歸遍歷刪除文件的方法04-02

            PHP遍歷目錄文件常用方法03-06

            php查找指定目錄下指定大小文件的方法08-03

            php文件鎖怎么用07-03

            用PHP讀取文件的正確方法04-07

            php遍歷數組的方法分享07-13

            php遞歸遍歷多維數組的方法04-11

            如何打開php文件 php文件怎么打開01-13

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院