遍历目录

输入:目录路径

输出:目录名或者文件名

php目录的拷贝文件php目次操作实例 Ruby

/

function browserDir($dirname){

$dir=opendir($dirname);

$filenames=array();

//注$filename只是得到的文件名,若进行文件操作必须指明“文件的路径”

while ($filename=readdir($dir)) {//读到结尾返回假

if($filename!='.' && $filename != '..'){

$filenames[]=$filename;

}

}

closedir($dir);

return $filenames;

}

二、统计目录大小

/

统计目录大小:

核心思想:目录的遍历

输入:$dirname——目录路径

输出:字节数

/

function getDirSize($dirname){

$filenames=browserDir($dirname);

foreach ($filenames as $v){

$dirfile=$dirname.'/'.$v;

if($v!='.' && $v!='..'){

if(is_dir($dirfile)){

$dirsize+=getDirSize($dirfile);

}else{

$dirsize+=filesize($dirfile);

}

}

}

return $dirsize;

}

三、删除目录

/

删除目录:

输入:$dirname——目录路径

/

function delDir($dirname){

if(file_exists($dirname)){//判断目录是否存在

$filenames=browserDir($dirname);

if(!empty($filenames)){

foreach ($filenames as $v){

$file=$dirname.'/'.$v;

if(is_dir($file)){

delDir($file);

}else{

unlink($file);//删除文件

}

}

rmdir($dirname);//删除空目录

echo '<script>alert(\公众删除目录成功!
\"大众)</script>;';

}else{

rmdir($dirname);

echo '<script>alert(\公众删除目录成功!
\公众)</script>;';

}

}else{

echo '<script>alert(\"大众对不起,你删除的目录不存在或者已经删除!
\"大众)</script>;';

}

}

四、复制目录

/

复制目录:

核心思想:创建目录、复制文件

输入:$dirform——源目录;$dirto——新目录;

/

function copyDir($dirform,$dirto){

if(is_file($dirto)){

echo \"大众目标不是目录不能创建\"大众;

return;

}

if(!file_exists($dirto)){

mkdir($dirto);

}

$filenames=browserDir($dirform);

foreach ($filenames as $v){

$filefrom=$dirform.'/'.$v;

$fileto=$dirto.'/'.$v;

if(is_dir($filefrom)){

copyDir($filefrom, $fileto);

}else{

copy($filefrom, $fileto);

}

}

}

五、单位换算

/

单位换算:

$size:以B为单位的大小

/

function setSize($size){

$dw=\公众B\公众;//单位

if($size >= pow(2,40)){

$size=round($size/pow(2,40),2);//小数点保留两位

$dw=\公众TB\"大众;

}elseif($size >= pow(2,30)){

$size=round($size/pow(2,30),2);//小数点保留两位

$dw=\"大众GB\"大众;

}elseif($size >= pow(2,20)){

$size=round($size/pow(2,20),2);//小数点保留两位

$dw=\"大众MB\"大众;

}elseif($size >= pow(2,10)){

$size=round($size/pow(2,10),2);//小数点保留两位

$dw=\"大众KB\"大众;

}

return $size.$dw;

}