全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 494|回复: 6

结贴,自己解决了

[复制链接]
发表于 2021-3-21 17:07:14 | 显示全部楼层 |阅读模式
本帖最后由 xz72670 于 2021-3-21 18:34 编辑



为了将问题通俗易懂、简单化,如上图所示,我的网站主页文件 index 和 data文件夹 同处于根目录,请问是否可以实现:当我打开我的网站首页的时候,网站自动读取到 data 文件夹的文件大小,并把结果展示在网页上给我。建站大屌来帮个忙,有偿,会的PM

我说的文件大小,就是文件夹属性中那个,如图:
发表于 2021-3-21 17:13:03 | 显示全部楼层
本帖最后由 五岁抬头 于 2021-3-21 17:14 编辑
  1. <?php
  2. // 获取文件夹大小
  3. function getDirSize($dir)
  4. {
  5.   $handle = opendir($dir);
  6.   while (false!==($FolderOrFile = readdir($handle)))
  7.   {
  8.    if($FolderOrFile != "." && $FolderOrFile != "..")
  9.    {
  10.     if(is_dir("$dir/$FolderOrFile"))
  11.     {
  12.      $sizeResult += getDirSize("$dir/$FolderOrFile");
  13.     }
  14.     else
  15.     {
  16.      $sizeResult += filesize("$dir/$FolderOrFile");
  17.     }
  18.    }
  19.   }
  20.   closedir($handle);
  21.   return $sizeResult;
  22. }
  23. // 单位自动转换函数
  24. function getRealSize($size)
  25. {
  26.   $kb = 1024;   // Kilobyte
  27.   $mb = 1024 * $kb; // Megabyte
  28.   $gb = 1024 * $mb; // Gigabyte
  29.   $tb = 1024 * $gb; // Terabyte
  30.   if($size < $kb)
  31.   {
  32.    return $size." B";
  33.   }
  34.   else if($size < $mb)
  35.   {
  36.    return round($size/$kb,2)." KB";
  37.   }
  38.   else if($size < $gb)
  39.   {
  40.    return round($size/$mb,2)." MB";
  41.   }
  42.   else if($size < $tb)
  43.   {
  44.    return round($size/$gb,2)." GB";
  45.   }
  46.   else
  47.   {
  48.    return round($size/$tb,2)." TB";
  49.   }
  50. }
  51. echo getRealSize(getDirSize('test'));
  52. ?>
复制代码

51行的test就是文件夹

演示:test.sbhly.com
百度找的:https://www.jb51.net/article/68759.htm
发表于 2021-3-21 17:08:56 | 显示全部楼层
这个太简单了,我不会。
发表于 2021-3-21 17:16:22 | 显示全部楼层
五岁抬头 发表于 2021-3-21 17:13
51行的test就是文件夹

演示:test.sbhly.com

大佬nb
 楼主| 发表于 2021-3-21 17:26:19 | 显示全部楼层
本帖最后由 xz72670 于 2021-3-21 17:27 编辑
五岁抬头 发表于 2021-3-21 17:13
51行的test就是文件夹

演示:test.sbhly.com


我也百度找到试过,好像是有bug的,如果文件大小超过1G是不行,超过1T我没试过,但我又不知道怎么改动一下代码,大佬你再试试?
发表于 2021-3-21 17:31:13 | 显示全部楼层
xz72670 发表于 2021-3-21 17:26
我也百度找到试过,好像是有bug的,如果文件大小超过1G是不行,超过1T我没试过,但我又不知道怎么改动一 ...

  $kb = 1024;   // Kilobyte
  $mb = 1024 * $kb; // Megabyte
  $gb = 1024 * $mb; // Gigabyte
  $tb = 1024 * $gb; // Terabyte
  $pb = 1024 * $tb;
 楼主| 发表于 2021-3-21 17:36:46 | 显示全部楼层
ofzo 发表于 2021-3-21 17:31
$kb = 1024;   // Kilobyte
  $mb = 1024 * $kb; // Megabyte
  $gb = 1024 * $mb; // Gigabyte

测试过,你多加的那行也是不行
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2026-5-15 14:24 , Processed in 0.063921 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表