PHP如何进行目录的遍历、统计、删除和复制操作
Admin 2022-08-10 群英技术资讯 722 次浏览
这篇文章给大家分享的是“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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要给大家总结介绍了利用php获取是星期几的一些姿势,文中通过示例代码介绍的非常详细,对大家学习或者使用php具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
如何写出优雅耐看的PHP代码?本篇文章带大家了解一下PHP代码的基本书写规范和框架规范,了解它们让你的PHP代码优雅一个档次!
laravel admin实现分类树/模型树的示例代码?有不少朋友对于这个比较感兴趣,下面小编给大家整理和分享了相关知识和资料,易于大家学习和理解,有需要的朋友可以借鉴参考,下面我们一起来了解一下吧。
swoole为我们提供了平滑重启机制,我们只需要向swoole_server的主进程发送特定的信号,即可完成对server的重启。如:kill -USR1|-10 master_pid 重启所有的Worker进程。
CSPRNG 即伪随机数产生器,作为一个工具,常用的算法有 MD5 或者 SHA1 等。在 PHP7 中,引入了以下两个 CSPRNG 函数,通过跨平台方式生成加密安全的整数和字符串。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
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备09006778号 域名注册商资质 粤 D3.1-20240008