一、php目录函数
递归查询目录中的文件大小,从而统计出目录大小。
复制代码 代码示例:
<?php
function dirSize($dir){
$dirsize = 0;
$url = opendir($dir);
while($filename = readdir($url)){
$file = $dir.'/'.$filename;
if(!($filename=='.' || $filename=='..')){
if(is_dir($file)){
$dirsize += dirSize($file);
}else{
$dirsize += filesize($file);
}
}
}
clo
sedir($url);
return $dirsize;
}
二、php目录函数带二个参数
这个函数需要传递两个url,分别是旧目录和新目录,就能复制该目录及文件
例子:
复制代码 代码示例:
<?php
function copyDir($dirSrc,$dirTo){
if(
is_file($dirTo))
{
echo '目标不是目录不能创建!';
return;
}
if(!
file_exists($dirTo))
{
mkdir($dirTo);
}
$dir_handle = @opendir($dirSrc);
if($dir_handle)
{
while($filename = readdir($dir_handle))
{
if($filename!="." && $filename!="..")
{
$subSrcFile = $dirSrc . "".$filename;
$subToFile = $dirTo . "".$filename;
if(is_dir($subSrcFile))
{
copyDir($subSrcFile, $subToFile);
}
if(is_file($subSrcFile))
{
copy($subSrcFile, $subToFile);
}
}
}
closedir($dir_handle);
}
}
三、php目录函数三带一个参数
这个函数只要传递一个url,就能递归删除目录及子目录的文件,从而删除目录。
例子:
复制代码 代码示例:
<?php
function rmDirAll($url){
//检测要打开目录是否存在
if(!$dir=@opendir($url)){
return false;
}
while(false !==($file=readdir($dir))){
//排除当前目录与父级目录
if($file!=="."&&$file!==".."){
$file=$url .'/'. $file;
//递归删除目录
if(is_dir($file)){
rmDirAll($file);
}else{
if(@unlink($file)){
continue;
}else{
return false;
}
}
}
if(@rmdir($url)){
return true;
}else{
return false;
}
}
}