激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频

PHP遞歸復制、移動(dòng)目錄的自定義函數操作分享

時(shí)間:2024-08-19 01:02:29 PHP 我要投稿
  • 相關(guān)推薦

PHP遞歸復制、移動(dòng)目錄的自定義函數操作分享

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

  復制代碼 代碼如下:

  <?php

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

  function copyDir($dirSrc,$dirTo){

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

  echo "目標不是目錄不能創(chuàng )建!";

  return; //退出函數

  }

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

  mkdir($dirTo); //創(chuàng )建目錄

  }

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

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

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

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

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

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

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

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

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

  }

  }

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

  }

  }

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

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

  ?>

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

【PHP遞歸復制、移動(dòng)目錄的自定義函數操作分享】相關(guān)文章:

PHP的壓縮函數06-21

淺析php函數的實(shí)例06-08

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

簡(jiǎn)單介紹php構造函數用法08-31

PHP中函數的使用說(shuō)明09-01

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

探討PHP函數的實(shí)現原理及性能07-07

word的自動(dòng)生成目錄如何操作08-10

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

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

激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频