国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

php實現(xiàn)統(tǒng)計目錄文件大小的函數(shù)

2024-05-04 23:41:27
字體:
供稿:網(wǎng)友
本文給大家介紹了使用php實現(xiàn)統(tǒng)計目錄文件大小的函數(shù),其主要的思路是通過遞歸遍歷目錄中的所有文件從而計算出文件總大小的,有需要的小伙伴可以參考下
 

早上剛到公司,頭告訴我,抓緊寫一個小函數(shù),用來統(tǒng)計指定目錄中文件大小,我了個去,動手吧,還好有點小基礎(chǔ),一會就完工了,哈哈。代碼在下面咯。

<? /**  統(tǒng)計目錄文件大小的函數(shù)  @author xfcode */  function dirsize($dir)  {    @$dh = opendir($dir);    $size = 0;    while ($file = @readdir($dh))   {     if ($file != "." and $file != "..")    {      $path = $dir."/".$file;       if (is_dir($path))      {        $size += dirsize($path);       }      elseif (is_file($path))      {        $size += filesize($path);       }     }    }   @closedir($dh);   return $size;  } //function end  //eg:  $dir_path = "./my_files";  $dir_size = dirsize($dir_path);  $dir_size = $dir_size/1024/1024;  echo $dir_size."MB";  ?> 

這個函數(shù)可以遞歸遍歷目錄中的所有文件,并計算以MB為單位的文件總大小。

下面我們再來看個代碼

<?php #循環(huán)遍歷目錄中所有的文件,并統(tǒng)計目錄和文件的大小 $dirName="phpMyAdmin"; $dir=opendir($dirName); #返回一個資源類型 while($fileName=readdir($dir)){ $file=$dirName."/".$fileName; if($fileName!="." && $fileName!=".."){  if(is_dir($file)){  echo "<font color='red'>".$fileName."===".date("Y-m-d H:i:s",filectime($file))."==".filetype($file)."==".toSize(dirSize($file))."</font><br/>";  }  else{  echo "<font color='green'>".$fileName."=====".date("Y-m-d H:i:s",filectime($file))."====".filetype($file)."====".toSize(filesize($file))."</font><br/>";  } } } closedir($dir);  #把文件或目錄的大小轉(zhuǎn)化為容易讀的方式 function toSize($size){ $dw; #指定文件或目錄統(tǒng)計的單位方式 if($size>pow(2,30)){  $dw="GB";  $size=round($size/pow(2,30),2); } else if($size>pow(2,20)){  $dw="MB";  $size=round($size/pow(2,20),2); } else if($size>pow(2,10)){  $dw="KB";  $size=round($size/pow(2,10),2); } else {  $dw="bytes"; } return $size.$dw; } #利用遞歸的方式統(tǒng)計目錄的大小 function dirSize($dirName){ $dirsize=0; $dir=opendir($dirName); while($fileName=readdir($dir)){  $file=$dirName."/".$fileName;  if($fileName!="." && $fileName!=".."){   //一定要進行判斷,否則會出現(xiàn)錯誤的  if(is_dir($file)){   $dirsize+=dirSize($file);  }  else{   $dirsize+=filesize($file);  }  } } closedir($dir); return $dirsize; }?>


注:相關(guān)教程知識閱讀請移步到PHP教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 昌宁县| 娄底市| 长泰县| 兴和县| 邮箱| 苍梧县| 灌阳县| 永仁县| 利辛县| 民和| 永宁县| 梁山县| 崇州市| 九龙城区| 衡东县| 福贡县| 姜堰市| 余江县| 东源县| 翁牛特旗| 南江县| 北流市| 尼勒克县| 吉水县| 和田市| 昆山市| 修水县| 华坪县| 松原市| 肥东县| 安仁县| 温州市| 湖南省| 宁陵县| 安陆市| 固阳县| 鞍山市| 哈密市| 伽师县| 正蓝旗| 唐海县|