遍历目录:
输入:目录路径
输出:目录名或者文件名
/
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;
}