ホームページ > バックエンド開発 > PHPチュートリアル > PHP でディレクトリのサイズを効率的に計算し、スクリプトのパフォーマンスを向上するにはどうすればよいですか?

PHP でディレクトリのサイズを効率的に計算し、スクリプトのパフォーマンスを向上するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-19 14:14:02
オリジナル
310 人が閲覧しました

How Can I Efficiently Calculate a Directory's Size in PHP and Improve Script Performance?

PHP でディレクトリ サイズを計算し、スクリプト パフォーマンスを最適化する方法

PHP でディレクトリを操作する場合、多くの場合、そのサイズを決定することが必要になります。ディレクトリとその内容のサイズを計算することを目的としたコード スニペットが提供されています。ただし、プロセッサの使用率が実行中に急増することが観察されています。

コードの最適化

提供されたコードを最適化し、プロセッサの使用率を削減するために、代替関数を使用できます。 PHP の組み込みディレクトリ反復機能を利用します:

function GetDirectorySize($path){
    $bytestotal = 0;
    $path = realpath($path);
    if($path!==false && $path!='' && file_exists($path)){
        foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path, FilesystemIterator::SKIP_DOTS)) as $object){
            $bytestotal += $object->getSize();
        }
    }
    return $bytestotal;
}
ログイン後にコピー

実装された最適化

この代替関数:

  • パスを実際のパスに変換しますシンボリック リンクまたは切り捨てられたパスを処理するためのパス。
  • パスの有効性を検証し、エラーを防ぐためにディレクトリが存在するかどうかを確認します。
  • 特殊な .、...、および Thumbs の反復をスキップします。 .db ファイル、リソースの節約。
  • メイン ループの外で関数を初期化することでパフォーマンスが向上します。

使用法

これを使用するには、最適化された関数を使用する場合は、foldersize 関数を GetDirectorySize に置き換えるだけです。例:

$disk_used = GetDirectorySize("C:/xampp/htdocs/freehosting/".$row['name']);
ログイン後にコピー

結論

提案された最適化では、PHP に組み込まれた反復機能を利用することでパフォーマンスが大幅に向上し、実行中のプロセッサーの使用量が削減されます。このアプローチにより、リソース消費を最適化しながらディレクトリ サイズが正確に計算されます。

以上がPHP でディレクトリのサイズを効率的に計算し、スクリプトのパフォーマンスを向上するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート