加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php计算整个目录大小的方式

发布时间:2023-04-06 12:57:46 所属栏目:PHP教程 来源:
导读:这篇文章主要介绍了php计算整个目录大小的方法,涉及php递归遍历与文件操作的相关技巧,需要的朋友可以参考下,本文实例讲述了php计算整个目录大小的方法,分享给大家供大家参考,具体实现方法如下:/** * Calculate

这篇文章主要介绍了php计算整个目录大小的方法,涉及php递归遍历与文件操作的相关技巧,需要的朋友可以参考下,本文实例讲述了php计算整个目录大小的方法,分享给大家供大家参考,具体实现方法如下:

/** 

 * Calculate the full size of a directory 

 * 

 * @author   Jonas John 

 * @version   0.2 

 * @link    http://www.jonasjohn.de/snippets/php/dir-size.htm 

 * @param    string  $DirectoryPath  Directory path 

 */ 

function CalcDirectorySize($DirectoryPath) { 

  // I reccomend using a normalize_path function here 

  // to make sure $DirectoryPath contains an ending slash 

  // (-> http://www.jonasjohn.de/snippets/php/normalize-path.htm) 

  // To display a good looking size you can use a readable_filesize 

  // function. 

  // (-> http://www.jonasjohn.de/snippets/php/readable-filesize.htm) 

  $Size = 0; 

  $Dir = opendir($DirectoryPath); 

  if (!$Dir) 

    return -1; 

  while (($File = readdir($Dir)) !== false) { 

    // Skip file pointers 

    if ($File[0] == '.') continue;  

    // Go recursive down, or add the file size 

    if (is_dir($DirectoryPath . $File))       

      $Size += CalcDirectorySize($DirectoryPath . $File . DIRECTORY_SEPARATOR); 

    else 

      $Size += filesize($DirectoryPath . $File);     

  } 

  closedir($Dir); 

  return $Size; 

//使用范例: 

$SizeInBytes = CalcDirectorySize('data/');

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!