PHP内置函数获取文件夹的大小
作者:bea
在很多项目中我们都要对文件夹操作,创建一个文件夹、删除一个文件夹、复制一个文件夹等,这些都要用到PHP对文件夹的操作内置的PHP函数,这里我们来实现获取指定文件夹的大小。 先看下面的代码: 只要我们指定文件夹dirname就可以计算出这个文件夹的大小来。 我在写代码的时候遇到了一个问题,就是把这行:$dir_size = round(getDirSize('editor')/pow(1024,1),1).'KB';如何放到getDirSize()函数中去则获取的结果不
在很多项目中我们都要对文件夹操作,创建一个文件夹、删除一个文件夹、复制一个文件夹等,这些都要用到PHP对文件夹的操作内置的PHP函数,这里我们来实现获取指定文件夹的大小。
先看下面的代码:
//获取文件夹的大小
function getDirSize($dirname){
$dir_size = 0;
if($dir_link = @opendir($dirname)){
while($file = readdir($dir_link)){
if($file!='.' && $file!='..'){
$filename = $dirname.'/'.$file;
if(is_dir($filename)){
$dir_size+=getDirSize($filename);
}
if(is_file($filename)){
$dir_size+=filesize($filename);
}
}
}
}
closedir($dir_link);
return $dir_size;
}
$dir_size = round(getDirSize('editor')/pow(1024,1),1).'KB';
echo $dir_size;
?>
只要我们指定文件夹dirname就可以计算出这个文件夹的大小来。
我在写代码的时候遇到了一个问题,就是把这行:$dir_size = round(getDirSize('editor')/pow(1024,1),1).'KB';如何放到getDirSize()函数中去则获取的结果不同。输出的结果没有包含这个文件夹下面的子文件夹的大小。
代码如下:
//获取文件夹的大小
function getDirSize($dirname){
$dir_size = 0;
if($dir_link = @opendir($dirname)){
while($file = readdir($dir_link)){
if($file!='.' && $file!='..'){
$filename = $dirname.'/'.$file;
if(is_dir($filename)){
$dir_size+=getDirSize($filename);
}
if(is_file($filename)){
$dir_size+=filesize($filename);
}
}
}
}
closedir($dir_link);
$dir_size = round(getDirSize('editor')/pow(1024,1),1).'KB';
return $dir_size;
}
echo $dir_size;
?>
知道什么原因的朋友请通过评论反馈给作者。谢谢 有用 | 无用
先看下面的代码:
//获取文件夹的大小
function getDirSize($dirname){
$dir_size = 0;
if($dir_link = @opendir($dirname)){
while($file = readdir($dir_link)){
if($file!='.' && $file!='..'){
$filename = $dirname.'/'.$file;
if(is_dir($filename)){
$dir_size+=getDirSize($filename);
}
if(is_file($filename)){
$dir_size+=filesize($filename);
}
}
}
}
closedir($dir_link);
return $dir_size;
}
$dir_size = round(getDirSize('editor')/pow(1024,1),1).'KB';
echo $dir_size;
?>
只要我们指定文件夹dirname就可以计算出这个文件夹的大小来。
我在写代码的时候遇到了一个问题,就是把这行:$dir_size = round(getDirSize('editor')/pow(1024,1),1).'KB';如何放到getDirSize()函数中去则获取的结果不同。输出的结果没有包含这个文件夹下面的子文件夹的大小。
代码如下:
//获取文件夹的大小
function getDirSize($dirname){
$dir_size = 0;
if($dir_link = @opendir($dirname)){
while($file = readdir($dir_link)){
if($file!='.' && $file!='..'){
$filename = $dirname.'/'.$file;
if(is_dir($filename)){
$dir_size+=getDirSize($filename);
}
if(is_file($filename)){
$dir_size+=filesize($filename);
}
}
}
}
closedir($dir_link);
$dir_size = round(getDirSize('editor')/pow(1024,1),1).'KB';
return $dir_size;
}
echo $dir_size;
?>
知道什么原因的朋友请通过评论反馈给作者。谢谢 有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- PHP编程入门之PHP数组指针
- 怎么打开PHP文件用什么打开
- 详解PHP中的魔术方法
- php mysql phpmyadmin乱码解决方案
- PHP面向对象的构造和析构方法
- 安装和使用PHP扩展hidef提高define性能
- PHP编程入门配置环境和调试代码
- 如何正确使用PHP return返回语句
- 如何使用伪静态文件.htaccess文件
- 张恩民PHP100视频教程收集整理全
- 详细讲解自学PHP基础教程
- 4种方法使用PHP生成XML文件
- 分析session_unset和session_destroy的区别
- 分析php模块memcache和memcached的区别
- PHP编程入门之面向对象中接口与多态
- 如何在PHP开发中更好的使用继承
- 深入理解编程语言PHP的变量
- php读取网页文件方法总结
- php异常如何抛出以及处理办法