Maison  >  Article  >  php教程  >  php复制目录下所有文件到另一目录中

php复制目录下所有文件到另一目录中

WBOY
WBOYoriginal
2016-05-25 16:55:151426parcourir
在php中要复制一个目录的文件到另一个目录我们需要遍历指定目录,然后再复制一个个利用copy函数把目录的文件复制到新的目录即可了,下面我来介绍一个实例。


遍历某文件夹下的所有文件和文件夹,并且把所以匹配的文件复制到同一目录。下面例子把”/www/pooy/baike”目录里面的,所有html文件都复制到”/www/pooy/bk”这个目录下面。

 代码如下 复制代码

$dir="/www/pooy/baike";
 static $dir_list =0;
 static $file_list =0;
 function listfile($dir){
 global $dir_list,$file_list;
 $d = dir($dir);
 while ( $entry = $d->read()) {
 $tem_curnt=$dir."/".$entry;
 //echo  $tem_curnt."
";
 if($entry=="." || $entry=="..") continue;
 if ( is_dir( $tem_curnt)) {
 listfile($tem_curnt);
 echo "文件夹 ".$tem_curnt."
";
$dir_list++;
 }
 elseif ( is_file($tem_curnt))
 {
 echo "文件".$tem_curnt."
";
 _copy($tem_curnt,"/www/pooy/bk");
 $file_list++;
 }
 }
 $d->close();
 }
function _copy($src, $dst) {
 if ( ! is_dir($src)) {
 if ( ! copy($src, $dst)) {
 return _log('Unable to copy files', $src);
 }
 } else {
 mkdir($dst);
 $ls = scandir($src);
for ($i = 0; $i  if ($ls[$i] == '.' OR $ls[$i] == '..') continue;
$_src = $src.'/'.$ls[$i];
 $_dst = $dst.'/'.$ls[$i];


if ( is_dir($_src)) {
 if ( ! _copy($_src, $_dst)) {
 return _log('Unable to copy files', $_src);
 }
 } else {
 if ( ! copy($_src, $_dst)) {
 return _log('Unable to copy files', $_src);
 }
 }
 }
 }
 return TRUE;
 }listfile($dir);
 echo "目录数:".$dir_list;
 echo"
";
 echo"文件数:".$file_list;



Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn