上一次璞玉说到了,php在linux判断程序是否运行的问题,今天说下遍历某文件夹下的所有文件和文件夹,并且把所以匹配的文件复制到同一目录。下面例子是璞玉把”/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)) {
www.xpress-money.net if ( ! copy($src, $dst)) {
return _log('Unable to copy files', $src);
}
} else {
mkdir($dst);
$ls = scandir($src);
for ($i = 0; $i < count($ls); $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;