最新国产好看的视频,伊人天堂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!=".."){   //一定要進行判斷,否則會出現(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 處理(詳細介紹)

    PHP cdata 處理(詳細介紹)

    之前為項目趕進度用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)過認證的zend工程師的指導(dǎo)下完成工作的,每當(dāng)我編寫腳本時,我會注意一些能讓我做得更好的細節(jié)
    2012-02-02
  • 基于PHP7錯誤處理與異常處理方法(詳解)

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

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

    MacOS 安裝 PHP的圖片裁剪擴展Tclip

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

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

    在看帝國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ū)別進行了詳細的分析介紹,需要的朋友參考下
    2013-07-07

最新評論

琼中| 沂水县| 东阿县| 井研县| 洛隆县| 黄平县| 清远市| 永吉县| 鹿泉市| 三原县| 祁东县| 德惠市| 莱西市| 客服| 郁南县| 华安县| 泽普县| 义马市| 保德县| 贡觉县| 台北县| 惠安县| 宁安市| 浑源县| 凌云县| 兴业县| 万盛区| 曲麻莱县| 黄冈市| 白水县| 儋州市| 泌阳县| 宿松县| 承德县| 霍山县| 安平县| 开阳县| 称多县| 周宁县| 崇仁县| 乐平市|