PHP如何进行目录的遍历、统计、删除和复制操作
Admin 2022-08-10 群英技术资讯 1043 次浏览
这篇文章给大家分享的是“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;
}
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
laravel排序失效的解决办法:1、通过“$query->whereIn(...)”查询数据;2、通过filter过滤数据;3、设置排序好的数据为“$data = $scoutModelsLists;”。
(PHP4,PHP5)declare 结构用来设定一段代码的执行指令。declare 的语法和其它流程控制结构相似:declare(directive)statementdirective 部分允许设定 ...
我们做网页的时候,常常会需要使用到分页,这篇文章主要给大家分享CI框架分页类的用法,下文代码具有一定的借鉴价值,感兴趣的朋友可以参考一下,下面我们就一起来看看吧。
php性能优化的解决方法你知道怎么操作吗?性能优化可以分为两个方向,一个是页面加载的快慢,另一个是页面使用起来是否流畅。下文的讲解详细,步骤过程清晰,对大家进一步学习和理解相关知识有一定的帮助。有这方面学习需要的朋友就继续往下看吧!
call_user_func(PHP4,PHP5)call_user_func — 传入一个参数来调用回调函数说明mixed call_user_func ( callable $callback [, mixed $parameter [, m...
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008