現在の位置: ホーム> 最新記事一覧> PHPフォルダー情報計算:ファイル、フォルダー、サイズの数を数えます

PHPフォルダー情報計算:ファイル、フォルダー、サイズの数を数えます

gitbox 2025-06-18

1.指定されたフォルダーの情報を計算します

PHPでは、ファイルシステム機能を使用して、フォルダーの数、ファイルの数、フォルダーのサイズなど、指定されたフォルダーの情報を計算できます。再帰モードを通じて、フォルダー内のすべてのファイルとサブフォルダーを介して反復し、関連するデータをカウントできます。

1.1再帰的なトラバースフォルダー

フォルダー内のすべてのファイルとサブフォルダーを介して反復するために、再帰関数を記述する必要があります。この関数は、フォルダーパスをパラメーターとして使用し、その中のフォルダー、ファイル、フォルダーサイズの数をカウントします。

再帰的に移動するフォルダーのPHPコードは次のとおりです。

 function getFolderInfo($folderPath) {
    $folderCount = 0;  // フォルダー数
    $fileCount = 0;    // ファイル数
    $folderSize = 0;   // フォルダーサイズ

foreach ($files as $file) {
    if ($file == '.' || $file == '..') {  // 現在のディレクトリと以前のディレクトリを無視します
        continue;
    }

    $filePath = $folderPath . '/' . $file;  // ファイルまたはサブフォルダーへのフルパス

    if (is_dir($filePath)) {  // フォルダーの場合
        $folderCount++;  // フォルダー数加1
        $subFolderInfo = getFolderInfo($filePath);  // サブフォルダーに関する情報を再帰的に取得します
        $folderCount += $subFolderInfo['folderCount'];  // 累加子フォルダー数
        $fileCount += $subFolderInfo['fileCount'];    // 累加ファイル数
        $folderSize += $subFolderInfo['folderSize'];  // 累加フォルダーサイズ
    } else {  // ファイルの場合
        $fileCount++;  // ファイル数加1
        $folderSize += filesize($filePath);  // フォルダーサイズ加上文件大小
    }
}

return [
    'folderCount' => $folderCount,
    'fileCount' => $fileCount,
    'folderSize' => $folderSize
];

}

コードでは、最初にフォルダー、ファイル、フォルダーサイズの数をゼロに初期化します。次に、「Scandir」関数を使用して、フォルダー内のすべてのファイルとサブフォルダーを取得します。次に、各ファイルとサブフォルダーをループし、それらのタイプを決定し、対応する処理を実行します。

フォルダーの場合は、「getFolderInfo」を再帰的に呼び出してサブフォルダー情報を取得し、サブフォルダーの統計を現在のフォルダーの統計に追加します。ファイルの場合は、そのサイズをフォルダーの合計サイズに直接追加します。

1.2指定されたフォルダーの情報の統計

指定されたフォルダーの情報をカウントするために、「getFolderInfo`関数を呼び出して、それをフォルダーのパスに渡すことができます。

 $folderPath = '/path/to/folder';  // フォルダーへのパスを指定します
$folderInfo = getFolderInfo($folderPath);  // フォルダー情報を取得します
$folderCount = $folderInfo['folderCount'];  // フォルダー数
$fileCount = $folderInfo['fileCount'];    // ファイル数
$folderSize = $folderInfo['folderSize'];  // フォルダーサイズ

このコードでは、最初にフォルダーパスを指定し、次に「getFolderInfo`関数を呼び出してフォルダーの統計を取得します。最後に、結果を対応する変数に保存します。

2。例

上記のコードを使用して指定されたフォルダーの情報を計算する方法を示す例を次に示します。

 $folderPath = '/path/to/folder';  // フォルダーパスを指定します
$folderInfo = getFolderInfo($folderPath);  // フォルダー情報を取得します
$folderCount = $folderInfo['folderCount'];  // フォルダー数
$fileCount = $folderInfo['fileCount'];    // ファイル数
$folderSize = $folderInfo['folderSize'];  // フォルダーサイズ
<p>echo "フォルダー数:" . $folderCount . "\n";  // 输出フォルダー数<br>
echo "ファイル数:" . $fileCount . "\n";      // 输出ファイル数<br>
echo "フォルダーサイズ:" . $folderSize . " bytes\n";  // 合計出力フォルダーサイズ

`/path/to/folder`フォルダーの情報をカウントすると仮定すると、コードを実行した後、次の結果と同様の結果を出力します。

 フォルダー数:3
ファイル数:10
フォルダーサイズ:123456789 bytes

出力は、 `/path/to/folder`フォルダーに3つのサブフォルダーと10のファイルが含まれており、総フットプリントは123456789バイトです。

3。概要

再帰的な方法とファイルシステム機能により、PHPはフォルダーの詳細を非常に簡単に計算できます。上記のコードを使用して、指定されたフォルダーのファイル、フォルダー、およびフォルダーの合計サイズの数を正確にカウントできます。これは、ファイル管理とディスクのスペースの使用を最適化するのに非常に役立ちます。