国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 宝清县| 武汉市| 神木县| 郓城县| 辽宁省| 荔浦县| 永和县| 西丰县| 富裕县| 鹿邑县| 华亭县| 泸溪县| 沾化县| 宝兴县| 永和县| 康马县| 米易县| 韶山市| 莱州市| 茂名市| 江山市| 酒泉市| 舞钢市| 阿克苏市| 武穴市| 抚松县| 龙州县| 临沧市| 伊吾县| 新绛县| 镇江市| 绩溪县| 论坛| 同德县| 萨嘎县| 东丽区| 宁阳县| 浦北县| 安康市| 托克逊县| 巴里|