<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            php語言

            PHP如何自定義一個函數

            時間:2025-05-05 12:20:50 php語言 我要投稿
            • 相關推薦

            PHP如何自定義一個函數

              計算文件、磁盤分區和目錄的大小在各種應用程序中都是常見的任務。計算文件的大小可以通過前面介紹過的filesize()函數完成,統計磁盤大小也可以使用disk_free_space()和disk_total_space()兩個函數實現。但PHP目前并沒有提供目錄總大小的標準函數,因此我們要自定義一個函數來完成這個任務。首先要考慮計算的目錄中有沒有包含其他子目錄的情況,如果沒有子目錄,目錄下所有文件的大小相加后的總和就是這個目錄的大小。如果包含子目錄,就按照這個方法再計算一下子目錄的大小,使用遞歸函數看來最適合此項任務。計算目錄大小的自定義函數如下所示:

              復制代碼 代碼如下:

              <?php

              //自定義一個函數dirSize(),統計傳入參數的目錄大小

              function dirSize($directory){

              $dir_size = 0; //用來累加各個文件大小

              if($dir_handle = @opendir($directory)){ //打開目錄,并判斷是否能成功打開

              while($filename = readdir($dir_handle)){ //循環遍歷目錄下的所有文件

              if($filename != "."&& $filename != ".."){ //一定要排除兩個特殊的目錄

              $subFile = $directory."/".$filename; //將目錄下的子文件和當前目錄相連

              if(is_dir($subFile)) //如果為目錄

              $dir_size += dirSize($subFile); //遞歸地調用自身函數,求子目錄的大小

              if(is_file($subFile)) //如果是文件

              $dir_size += filesize($subFile); //求出文件的大小并累加

              }

              }

              closedir($dir_handle); //關閉文件資源

              return $dir_size; //返回計算后的目錄大小

              }

              }

              $dir_size = dirSize("phpMyAdmin"); //調用該函數計算目錄大小

              echo round($dir_size/pow(1024,1),2)."KB"; //字節數轉換為“KB”單位并輸出

              ?>

              也可以使用exec()或system()函數調用操作系統命令“du”來返回目錄的大小。但出于安全原因,這些函數通常是禁用的,而且不利于跨平臺操作。</p

            【PHP如何自定義一個函數】相關文章:

            PHP分頁自定義函數09-08

            如何使用php自定義函數實現漢字分割替換08-18

            php自定義函數實現漢字分割替換06-01

            php如何禁用eval函數06-12

            PHP中生成UUID自定義函數分享05-11

            php自定義擴展名獲取函數示例06-10

            PHP項目開發中最常用的自定義函數整理08-12

            用php自定義函數之遞歸刪除文件及目錄09-13

            如何用php構造函數的小例子10-06

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看