PHP如何进行目录的遍历、统计、删除和复制操作

Admin 2022-08-10 群英技术资讯 389 次浏览

这篇文章给大家分享的是“PHP如何进行目录的遍历、统计、删除和复制操作”,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下吧。

$dirname=’phpMyAdmin’;

一、遍历目录

/*

* 遍历目录:

* 输入:目录路径

* 输出:目录名或者文件名

*/

function browser dir ($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;

}


感谢各位的阅读,以上就是“PHP如何进行目录的遍历、统计、删除和复制操作”的内容了,经过本文的学习后,相信大家对PHP如何进行目录的遍历、统计、删除和复制操作都有更深刻的体会了吧。这里是群英网络,小编将为大家推送更多相关知识点的文章,欢迎关注! 群英智防CDN,智能加速解决方案
标签: PHP目录操作

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

猜你喜欢

成为群英会员,开启智能安全云计算之旅

立即注册
专业资深工程师驻守
7X24小时快速响应
一站式无忧技术支持
免费备案服务
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
在线客服
微信公众号
返回顶部
返回顶部 返回顶部
在线客服
在线客服