php エディタ Baicao は今日、PHP コードを通じて指定されたディレクトリの合計ディスク サイズを取得する方法を紹介します。 Web 開発では、統計や制限のためにディレクトリの合計ディスク サイズを取得する必要がある場合があります。この関数は、単純な PHP コードを使用して簡単に実装できます。続いては具体的な実装方法を見ていきましょう!
PHP でディレクトリの合計ディスク サイズを計算する
######背景######場合によっては、特定のディレクトリまたはそのサブディレクトリが占有するディスク容量を確認する必要があります。 php は、このタスクを実行するための強力な関数を提供しており、
開発者はディレクトリの合計ディスク サイズを簡単に計算できます。 ######方法###### 1.disk_total_space() 関数を使用します
disk_total_space() 関数は、指定されたディレクトリまたはファイルの合計ディスク容量を取得します。 $ディレクトリ = "/var/log"; $total_space = ディスク合計スペース($directory); echo "合計ディスク容量: $total_space バイト";
2. dir() 関数と filesize() 関数を使用する
dir() 関数はディレクトリを開き、Directory オブジェクトを生成します。 filesize() 関数は、指定されたファイルのサイズを取得します。
$ディレクトリ = "/var/log"; $total_size = 0; if ($dh = opendir($directory)) { while (($file = readdir($dh)) !== false) { if ($file != "." && $file != "..") { $total_size = filesize($directory . "/" . $file); } } 閉じられたir($dh); } echo "合計ディスク サイズ: $total_size バイト";
3. RecursiveIteratorIterator クラスと SplFileInfo クラスを使用する
RecursiveIteratorIterator クラスを使用すると、ディレクトリとそのサブディレクトリ内のファイルとディレクトリを反復できます。 SplFileInfo クラスは、ファイル サイズなど、各ファイルに関する追加情報を提供します。
RecursiveIteratorIterator を使用します。 RecursiveDirectoryIterator を使用します。 SplFileInfo を使用します。 $directory = "/var/log"; $total_size = 0; $iterator = new RecursiveIteratorIterator( 新しい RecursiveDirectoryIterator($directory)、 RecursiveIteratorIterator::SELF_FIRST ); foreach ($iterator as $file) { if ($file->isFile()) { $total_size = $file->getSize(); } } echo "合計ディスク サイズ: $total_size バイト";
4. scandir() 関数と array_sum() 関数を使用する
scandir() 関数はディレクトリをスキャンし、ファイルとディレクトリの
arrayを返します。 array_sum() 関数は、配列内の値の合計を計算します。
$ディレクトリ = "/var/log"; $files = scandir($directory); $total_size = array_sum(array_map("ファイルサイズ", $files)); echo "合計ディスク サイズ: $total_size バイト"; ######最適化######
反復子 (RecursiveIteratorIterator など) を使用すると、ディレクトリ関数を直接使用するよりも効率的です。glob() 関数は効率が低いため、使用しないでください。
ディレクトリ サイズを頻繁に計算する必要がある場合は、キャッシュ
######結論は###### PHP には、ディレクトリ ディスクの合計サイズを計算するためのいくつかの方法が用意されています。開発者は、特定のアプリケーションのニーズに最も適した方法を選択できます。コードを
最適化以上がPHP はディレクトリの合計ディスク サイズを返しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。