欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2015年12月25日 08:59:07   投稿:hebedich  
本文給大家介紹了使用php實(shí)現(xiàn)統(tǒng)計(jì)目錄文件大小的函數(shù),其主要的思路是通過遞歸遍歷目錄中的所有文件從而計(jì)算出文件總大小的,有需要的小伙伴可以參考下

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

<? 
/** 
 統(tǒng)計(jì)目錄文件大小的函數(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"; 
 ?> 

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

下面我們?cè)賮砜磦€(gè)代碼

<?php
 #循環(huán)遍歷目錄中所有的文件,并統(tǒng)計(jì)目錄和文件的大小
 $dirName="phpMyAdmin";
 $dir=opendir($dirName); #返回一個(gè)資源類型
 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)計(jì)的單位方式
 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)計(jì)目錄的大小
 function dirSize($dirName){
 $dirsize=0;
 $dir=opendir($dirName);
 while($fileName=readdir($dir)){
  $file=$dirName."/".$fileName;
  if($fileName!="." && $fileName!=".."){   //一定要進(jìn)行判斷,否則會(huì)出現(xiàn)錯(cuò)誤的
  if(is_dir($file)){
   $dirsize+=dirSize($file);
  }
  else{
   $dirsize+=filesize($file);
  }
  }
 }
 closedir($dir);
 return $dirsize;
 }
?>

相關(guān)文章

  • 淺談ThinkPHP中initialize和construct的區(qū)別

    淺談ThinkPHP中initialize和construct的區(qū)別

    下面小編就為大家?guī)硪黄獪\談ThinkPHP中initialize和construct的區(qū)別。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04
  • PHP strtotime函數(shù)詳解

    PHP strtotime函數(shù)詳解

    strtotime函數(shù)是一個(gè)很好的函數(shù),靈活的運(yùn)用它,會(huì)給你的工作帶來不少方便.但PHP的手冊(cè)中卻對(duì)此函數(shù)的參數(shù)沒作太多介紹,對(duì)些函數(shù)的其他介紹也非常少。
    2009-12-12
  • PHP實(shí)現(xiàn)的多進(jìn)程控制demo示例

    PHP實(shí)現(xiàn)的多進(jìn)程控制demo示例

    這篇文章主要介紹了PHP實(shí)現(xiàn)的多進(jìn)程控制demo,涉及php信號(hào)處理與進(jìn)程控制相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07
  • PHP中常用數(shù)組處理方法實(shí)例分析

    PHP中常用數(shù)組處理方法實(shí)例分析

    把php中常用的幾種處理數(shù)組的方法都整理了下,方便了大家學(xué)習(xí),大家可以逐個(gè)去運(yùn)行下,熟悉php數(shù)組的使用
    2008-08-08
  • PHP實(shí)現(xiàn)生成模糊圖片的方法示例

    PHP實(shí)現(xiàn)生成模糊圖片的方法示例

    這篇文章主要介紹了PHP實(shí)現(xiàn)生成模糊圖片的方法,涉及php高斯算法實(shí)現(xiàn)圖片模糊功能相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-12-12
  • php控制反轉(zhuǎn)與依賴注入舉例講解

    php控制反轉(zhuǎn)與依賴注入舉例講解

    IOC-Inversion of Control,即控制反轉(zhuǎn)。它不是什么技術(shù),而是一種設(shè)計(jì)思想。這篇文章主要介紹了php控制反轉(zhuǎn)與依賴注入的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-11-11
  • PHP判斷遠(yuǎn)程url是否有效的幾種方法小結(jié)

    PHP判斷遠(yuǎn)程url是否有效的幾種方法小結(jié)

    需要判斷遠(yuǎn)程URL是否有效,遠(yuǎn)程url包括遠(yuǎn)程圖片,網(wǎng)頁(yè),視頻等等元素,收集了多種方法,大家可以根據(jù)需要選擇。
    2011-10-10
  • php通過記錄IP來防止表單重復(fù)提交方法分析

    php通過記錄IP來防止表單重復(fù)提交方法分析

    這篇文章主要介紹了php通過記錄IP來防止表單重復(fù)提交的方法,對(duì)比分析了通過記錄IP防止重復(fù)提交與通過數(shù)據(jù)庫(kù)防止重復(fù)提交的方法,供大家靈活選擇與使用,是非常實(shí)用的技巧,需要的朋友可以參考下
    2014-12-12
  • php實(shí)現(xiàn)求相對(duì)時(shí)間函數(shù)

    php實(shí)現(xiàn)求相對(duì)時(shí)間函數(shù)

    這篇文章主要介紹了php實(shí)現(xiàn)求相對(duì)時(shí)間函數(shù),可實(shí)現(xiàn)簡(jiǎn)單求相對(duì)時(shí)間為幾分鐘前或幾小時(shí)前的功能,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下
    2015-06-06
  • php擴(kuò)展Zend?Framework框架——Validate擴(kuò)展

    php擴(kuò)展Zend?Framework框架——Validate擴(kuò)展

    這篇文章介紹了php擴(kuò)展Zend?Framework框架,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2008-01-01

最新評(píng)論