最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2015年12月25日 08:59:07   投稿:hebedich  
本文給大家介紹了使用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!=".."){   //一定要進(jìn)行判斷,否則會出現(xiàn)錯誤的
  if(is_dir($file)){
   $dirsize+=dirSize($file);
  }
  else{
   $dirsize+=filesize($file);
  }
  }
 }
 closedir($dir);
 return $dirsize;
 }
?>

相關(guān)文章

  • php7新特性的理解和比較總結(jié)

    php7新特性的理解和比較總結(jié)

    在本文里我們給大家整理了關(guān)于php7新特性的理解和比較以及相關(guān)實例代碼內(nèi)容,正在學(xué)習(xí)的朋友們參考下。
    2019-04-04
  • PHP cdata 處理(詳細(xì)介紹)

    PHP cdata 處理(詳細(xì)介紹)

    之前為項目趕進(jìn)度用php 的simplexml來解析 xml, 當(dāng)時發(fā)現(xiàn) simplexml不支持<![CDATA標(biāo)簽, 所有處于這個標(biāo)簽內(nèi)的值都沒有辦法取到
    2013-07-07
  • asp函數(shù)split()對應(yīng)php函數(shù)explode()

    asp函數(shù)split()對應(yīng)php函數(shù)explode()

    今天小編就為大家分享一篇關(guān)于asp函數(shù)split()對應(yīng)php函數(shù)explode(),小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • PHP危險函數(shù)禁用深入詳解

    PHP危險函數(shù)禁用深入詳解

    這篇文章主要介紹了PHP危險函數(shù)禁用深入詳解,列舉了一些比較敏感的函數(shù),有感興趣的同學(xué)可以學(xué)習(xí)下
    2021-03-03
  • 國外PHP程序員的13個好習(xí)慣小結(jié)

    國外PHP程序員的13個好習(xí)慣小結(jié)

    我是一個PHP新手,只有6個月的PHP編程經(jīng)歷,并且是在一位經(jīng)過認(rèn)證的zend工程師的指導(dǎo)下完成工作的,每當(dāng)我編寫腳本時,我會注意一些能讓我做得更好的細(xì)節(jié)
    2012-02-02
  • 基于PHP7錯誤處理與異常處理方法(詳解)

    基于PHP7錯誤處理與異常處理方法(詳解)

    下面小編就為大家分享一篇基于PHP7錯誤處理與異常處理方法(詳解),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • MacOS 安裝 PHP的圖片裁剪擴(kuò)展Tclip

    MacOS 安裝 PHP的圖片裁剪擴(kuò)展Tclip

    Tclip是一個頭像自動識別,php圖片裁剪項目。他可以自動識別圖片中的重要區(qū)域,并且在圖片裁剪時保留重要區(qū)域。下面我們就來看看如何在MacOS上進(jìn)行安裝。
    2015-03-03
  • PHP函數(shù)之error_reporting(E_ALL ^ E_NOTICE)詳細(xì)說明

    PHP函數(shù)之error_reporting(E_ALL ^ E_NOTICE)詳細(xì)說明

    在看帝國cms的connect.php是發(fā)現(xiàn)第一句是error_reporting(E_ALL ^ E_NOTICE);以前也沒注意過這個語句,知道是設(shè)置錯誤提示的,但不清楚具體怎樣設(shè)置使用。下面從網(wǎng)上摘抄了些東西,總結(jié)了一下。
    2011-07-07
  • php簡單實現(xiàn)發(fā)送帶附件的郵件

    php簡單實現(xiàn)發(fā)送帶附件的郵件

    這篇文章主要介紹了php簡單實現(xiàn)發(fā)送帶附件的郵件,涉及附件上傳及郵件發(fā)送的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • 深入解析fsockopen與pfsockopen的區(qū)別

    深入解析fsockopen與pfsockopen的區(qū)別

    本篇文章是對fsockopen與pfsockopen的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-07-07

最新評論

水富县| 海晏县| 信丰县| 彰化县| 南阳市| 渑池县| 平和县| 沽源县| 河西区| 布拖县| 金湖县| 西和县| 那坡县| 清徐县| 南宁市| 绥中县| 平乐县| 门源| 恩平市| 鸡东县| 天全县| 辛集市| 益阳市| 亚东县| 兴和县| 望江县| 延津县| 红原县| 巧家县| 宁河县| 哈尔滨市| 阳西县| 西贡区| 肃北| 新巴尔虎右旗| 肇东市| 安丘市| 工布江达县| 永丰县| 上饶县| 新巴尔虎左旗|