php目录操作实例

2022-10-11 21:43:08 138 0
魁首哥

$dirname=’phpMyAdmin’;

一、遍历目录

/*

php目录操作实例

* 遍历目录:

* 输入:目录路径

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

*/

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 ‘;’;

}else{

rmdir($dirname);

echo ‘;’;

}

}else{

echo ‘;’;

}

}

四、复制目录

/*

* 复制目录:

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

* 输入:$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;

}

收藏
分享
海报
0 条评论
138
上一篇:nginx+php的配置与原理详情学习,程序员必掌握 下一篇:AES加密(PHP+FLUTTER)

本站已关闭游客评论,请登录或者注册后再评论吧~

忘记密码?

图形验证码