Vous êtes ici Codes PHP et MySQL > Fichiers-Répertoires > Connaitre la taille en bytes des répertoires et...

 

Connaitre la taille en bytes des répertoires et sous répertoires

Cette fonction permet de connaite la taille d'une répertoire. La fonction va calculer le poid de tout les fichiers contenu dans le répertoire et retouner le résultat en Bytes. Voici les différentes variables du code pour vous aidez à paramétrer cette fonction.
$path : Nom du répertoire dont on souhaite connaitre la taille.
$recursive : booleen pour faire aussi les sous répertoires
 
Mathieu
[20] sources en PHP voir
Code vu 9077 fois
Enregistré le 01 Sept 2004
  • Digg ce code sur digg.com
  • Bookmark ce code sur del.icio.us
  • Bookmark ce code sur Google
  • Bookmark ce code sur Yahoo
  • Ajoute Connaitre la taille en bytes des répertoires et sous répertoires
  • Partage ce code sur Facebook
 
 
 
 

Code Source


01.
02.
03.
04.
05.
06.
07.
08.
09.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
 
<?php
/******************************************************************************/
/*                                                                            */
/*                       __        ____                                       */
/*                 ___  / /  ___  / __/__  __ _____________ ___               */
/*                / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-<               */
/*               / .__/_//_/ .__/___/\___/\_,_/_/  \__/\__/___/               */
/*              /_/       /_/                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : Connaitre la taille en bytes des répertoires et sous...   */
/*                                                                            */
/* URL            : http://www.phpsources.org/scripts65-PHP.htm               */
/* Auteur         : Mathieu                                                   */
/* Date édition   : 01 Sept 2004                                              */
/*                                                                            */
/******************************************************************************/


function DirSize($path $recursive=TRUE){ 
$result 0; 
if(!is_dir($path) || !is_readable($path)) 
return 0$fd dir($path); 
while($file $fd->read()){ 
if(($file != ".") && ($file != "..")){ 
if(@is_dir("$path$file/")) 
$result += $recursive?DirSize("$path$file/"):0; 
else 
$result += filesize("$path$file"); 
} 
} 
$fd->close(); 
return $result; 
}  

?> 
 

Fonctions du code

: Indique si le fichier est un dossier - (PHP 4, PHP 5)
: Indique si un fichier est accessible en lecture - (PHP 4, PHP 5)
: -
: Lit la taille d'un fichier - (PHP 4, PHP 5)
Commentaires
Ca ne fonctionne pas.
 
Ce code fonctionne trés bien. J'ai changé la description et le titre du code pour plus de cohérence.

Dans le cas ou l'on veux avoir la taille en bytes du répertoire dans lequel ce trouve le script, il faudra écrire la fonction comme ceci:
echo DirSize('./',$true);

 
Voici la fonction qui fonctionne.
A utiliser sous cette forme :
DirSize($file)
 

function DirSize($path , $recursive=TRUE){
    $result = 0;
    if(!is_dir($path) || !is_readable($path))
    return 0;
    $fd = dir($path);
    while($file = $fd->read()){
        if(($file != ".") && ($file != "..")){
            if(@is_dir($path.'/'.$file))
            $result += $recursive?DirSize($path.'/'.$file):0;
            else
            $result += filesize($path.'/'.$file);
        }
    }
    $fd->close();
    return $result;
}
 
Ajouter un commentaire
Code de sécurité

Attention: Les champs marqués d'une étoile * sont obligatoires
 
Librairie PHP

Connexion

 
 

Fichiers-Répertoires

 
 

PHP

 
 
 
 
    Offres d'emploi

Plus de 500 offres d'emploi PHP/MySQL

Offres d'emploi
 
    Editeur PHP
 
        Publicité