国产女人18毛片水真多18精品, 一区二区三区中文字-亚洲精品女国产, 欧美熟妇老熟妇88888久久久久, 一级毛片免费观看亚洲欧美国产精品,大波霸美女视频,日韩欧美激情V影院,熟女人伦21p,亚洲精品女国产,国产 乱子伦 在线

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

時(shí)間:2025-11-14 04:54:13 php語(yǔ)言

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

  項(xiàng)目中有這么一個(gè)需求,需要遍歷某個(gè)文件夾(目錄)下的所有文件。下面是解決這個(gè)問(wèn)題所寫(xiě)的PHP代碼,歡迎閱讀,更多消息請(qǐng)關(guān)注應(yīng)屆畢業(yè)生網(wǎng)。

  第一種實(shí)現(xiàn)辦法是用dir返回對(duì)象,第二種實(shí)現(xiàn)辦法:用readdir()函數(shù)。

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

  一個(gè)簡(jiǎn)單的目錄遞歸函數(shù)

  第一種實(shí)現(xiàn)辦法:用dir返回對(duì)象

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

  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();

  }

  /pic/p>

  echo "

  目錄為粉紅色

  ";

  tree("./nowamagic");

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

  第二種實(shí)現(xiàn)辦法:用readdir()函數(shù)

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

  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);

  }

  }

  }

  /pic/p>

  listDir("./nowamagic");

  ?>

  拓展:PHP遞歸復(fù)制、移動(dòng)目錄的自定義函數(shù)操作分

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

  復(fù)制代碼 代碼如下:

  <?php

  /pic/p>

  function copyDir($dirSrc,$dirTo){

  if(is_file($dirTo)){ /pic/p>

  echo "目標(biāo)不是目錄不能創(chuàng)建。";

  return; /pic/p>

  }

  if(!file_exists($dirTo)){ /pic/p>

  mkdir($dirTo); /pic/p>

  }

  if($dir_handle = @opendir($directory)){ /pic/p>

  while($filename = readdir($dir_handle)){ /pic/p>

  if($filename != "."&& $filename != ".."){ /pic/p>

  $subFile = $directory."/".$filename; /pic/p>

  $sunToFile = $dirTo."/".$filename; /pic/p>

  if(is_dir($subSrcFile)) /pic/p>

  copyDir($subSrcFile,$subToFile); /pic/p>

  if(is_file($subSrcFile)) /pic/p>

  copy($subSrcFile,$subToFile); /pic/p>

  }

  }

  losedir($dir_handle); /pic/p>

  }

  }

  /pic/admin”

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

  ?>

  從安全和跨平臺(tái)等方面考慮,盡量不要去調(diào)用操作系統(tǒng)的SHELL命令“cp-a”完成目錄的復(fù)制。

【用PHP遍歷目錄下的全部文件】相關(guān)文章:

php遍歷替換目錄下文件指定內(nèi)容12-11

php遞歸遍歷刪除文件的方法11-05

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

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

php文件鎖怎么用11-17

用PHP讀取文件的正確方法11-28

php遞歸遍歷多維數(shù)組的方法11-14

用PHP實(shí)現(xiàn)文件上傳二法12-20

php遍歷數(shù)組的方法分享10-11