PHP如何进行目录的遍历、统计、删除和复制操作
Admin 2022-08-10 群英技术资讯 793 次浏览
这篇文章给大家分享的是“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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
取消引用当unset一个引用,只是断开了变量名和变量内容之间的绑定。这并不意味着变量内容被销毁了。例如:<?php$a=1;$b=&$a;unset($a);?>不会unset&...
这篇文章主要介绍了php的Snoopy类案例讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
if(PHP4,PHP5)if 结构是很多语言包括PHP在内最重要的特性之一,它允许按照条件执行代码片段。PHP的 if 结构和C语言相似:<?phpif(expr)s...
今天小编就为大家分享一篇laravel框架添加数据,显示数据,返回成功值的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
php中yaf框架:1、Yaf是一个C语言编写的PHP框架,以php扩展的形式;2、用C语言开发的PHP框架, 相比原生的PHP, 几乎不会带来额外的性能开销;3、所有的框架类, 不需要编译, 在PHP启动的时候加载,并常驻内存。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
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