1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

      1. PHP遞歸復制、移動目錄的自定義函數操作分享

        時間:2024-08-19 01:02:29 PHP 我要投稿
        • 相關推薦

        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的壓縮函數06-21

        淺析php函數的實例06-08

        php外部執行命令函數10-27

        簡單介紹php構造函數用法08-31

        PHP中函數的使用說明09-01

        PHP中的排序函數區別分析08-23

        探討PHP函數的實現原理及性能07-07

        word的自動生成目錄如何操作08-10

        php對圖像的各種處理函數代碼總結07-03

        php字符串處理函數大全08-21

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>