为了账号安全,请及时绑定邮箱和手机立即绑定

php实现目录大小统计的三种方法

标签:
PHP

<?php
/
filesize 得到文件大小,返因单位为字节
unlink 删除文件
/
/echo "<pre>";
print_r(get_declared_classes());
/

/*$dir =dir('.');
while(($file = $dir->read())!==FALSE){
echo $file."
";
}
$dir->close();
$dir->rewind();
echo "

";
while(($file = $dir->read())!==FALSE){
echo $file."
";
}*/

//echo filesize('60/a.txt')/1024;
/sleep(6);
unlink('60/1.php');
/

/sleep(5);
array_map(unlink, glob('60*.
'));*/

/function dirSize($dirname) {
$dir = opendir ( $dirname );
while ( ($file = readdir ( $dir )) !== FALSE ) {
$filename = $dirname . '\' . $file;
if ($file != '.' && $file != '..') {
if (is_dir ( $file )) {
$count += dirSize ( $file );
} else {
$count += filesize ( $filename );
}
}
}
return $count;
}
echo dirSize ( '.' ) / pow(1024,2);
/

/function dirSize_glob($dirname){
$dirInfo = glob("{$dirname}*");
foreach ($dirInfo as $v){
if(is_dir($v)){
$count +=dirSize_glob($v);
}else{
$count +=filesize($v);
}
}
return $count;
}
echo dirSize_glob('.')/pow(1024,2);
/

/function dirSize_scandir($dirname){
$dirArr = scandir($dirname);
foreach ($dirArr as $v){
$fileName = $dirname.'\'.$v;
if($v!='.' && $v!='..'){
if(is_dir($fileName)){
$count +=dirSize_scandir($fileName);
}else{
$count+=filesize($fileName);
}
}
}
return $count;
}
echo dirSize_scandir('.')/pow(1024,2);
/

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消