Position actuelle: Accueil> Derniers articles> Calcul des informations du dossier PHP: comptez le nombre de fichiers, de dossiers et de taille

Calcul des informations du dossier PHP: comptez le nombre de fichiers, de dossiers et de taille

gitbox 2025-06-18

1. Calculez les informations du dossier spécifié

Dans PHP, nous pouvons utiliser les fonctions du système de fichiers pour calculer les informations d'un dossier spécifié, y compris le nombre de dossiers, le nombre de fichiers et la taille du dossier. À travers le mode récursif, nous pouvons parcourir tous les fichiers et sous-dossiers du dossier et compter les données pertinentes.

1,1 dossiers de traverse récursivement

Nous devons écrire une fonction récursive pour itérer via tous les fichiers et sous-dossiers du dossier. Cette fonction prend un chemin de dossier en tant que paramètre et compte le nombre de dossiers, de fichiers et de tailles de dossiers.

Voici le code PHP pour traverser récursivement les dossiers:

 function getFolderInfo($folderPath) {
    $folderCount = 0;  // Nombre de dossiers
    $fileCount = 0;    // Nombre de fichiers
    $folderSize = 0;   // Taille du dossier

foreach ($files as $file) {
    if ($file == '.' || $file == '..') {  // Ignorez le répertoire actuel et le répertoire précédent
        continue;
    }

    $filePath = $folderPath . '/' . $file;  // Le chemin complet vers un fichier ou un sous-dossier

    if (is_dir($filePath)) {  // Si c'est un dossier
        $folderCount++;  // Nombre de dossiers加1
        $subFolderInfo = getFolderInfo($filePath);  // Obtention récursive des informations sur les sous-dossiers
        $folderCount += $subFolderInfo['folderCount'];  // 累加子Nombre de dossiers
        $fileCount += $subFolderInfo['fileCount'];    // 累加Nombre de fichiers
        $folderSize += $subFolderInfo['folderSize'];  // 累加Taille du dossier
    } else {  // Si c'est un fichier
        $fileCount++;  // Nombre de fichiers加1
        $folderSize += filesize($filePath);  // Taille du dossier加上文件大小
    }
}

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

}

Dans le code, nous initialisons d'abord le nombre de dossiers, de fichiers et de taille de dossier à zéro. Utilisez ensuite la fonction «scandir» pour obtenir tous les fichiers et sous-dossiers dans le dossier. Ensuite, parcourez chaque fichier et sous-dossier, déterminez leurs types et effectuez un traitement correspondant.

S'il s'agit d'un dossier, appelez récursivement «getfolderinfo» pour obtenir les informations du sous-dossier et ajouter les statistiques du sous-dossier aux statistiques du dossier actuel. S'il s'agit d'un fichier, ajoutez sa taille directement à la taille totale du dossier.

1.2 Statistiques des informations du dossier spécifié

Afin de compter les informations du dossier spécifié, nous pouvons appeler la fonction «getFoldeRinfo» et la transmettre dans le chemin du dossier.

 $folderPath = '/path/to/folder';  // Spécifiez le chemin vers le dossier
$folderInfo = getFolderInfo($folderPath);  // Obtenir des informations sur le dossier
$folderCount = $folderInfo['folderCount'];  // Nombre de dossiers
$fileCount = $folderInfo['fileCount'];    // Nombre de fichiers
$folderSize = $folderInfo['folderSize'];  // Taille du dossier

Dans ce code, spécifiez d'abord le chemin du dossier, puis appelez la fonction «getFoldeRinfo» pour obtenir les statistiques du dossier. Enfin, nous stockons le résultat dans la variable correspondante.

2. Exemple

Voici un exemple montrant comment utiliser le code ci-dessus pour calculer les informations pour un dossier spécifié:

 $folderPath = '/path/to/folder';  // Spécifiez le chemin du dossier
$folderInfo = getFolderInfo($folderPath);  // Obtenir des informations sur le dossier
$folderCount = $folderInfo['folderCount'];  // Nombre de dossiers
$fileCount = $folderInfo['fileCount'];    // Nombre de fichiers
$folderSize = $folderInfo['folderSize'];  // Taille du dossier
<p>echo "Nombre de dossiers:" . $folderCount . "\n";  // 输出Nombre de dossiers<br>
echo "Nombre de fichiers:" . $fileCount . "\n";      // 输出Nombre de fichiers<br>
echo "Taille du dossier:" . $folderSize . " bytes\n";  // Taille totale du dossier de sortie

En supposant que vous souhaitez compter les informations du dossier `/ path / vers / du dossier ', après avoir exécuté le code, vous publierez un résultat similaire à ce qui suit:

 Nombre de dossiers:3
Nombre de fichiers:10
Taille du dossier:123456789 bytes

La sortie montre que le dossier `/ path / vers / du dossier 'contient 3 sous-dossiers et 10 fichiers, avec une empreinte totale de 123456789 octets.

3. Résumé

Grâce aux méthodes récursives et aux fonctions du système de fichiers, PHP facilite le calcul des détails du dossier. En utilisant le code ci-dessus, nous pouvons compter avec précision le nombre de fichiers, de dossiers et de taille totale du dossier du dossier spécifié. Ceci est très utile pour la gestion des fichiers et optimiser l'utilisation de l'espace disque.