begin process at 2010 02 10 09:48:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Aide & documentation

 > 

Récuperer le poid d'un repertoire


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Récuperer le poid d'un repertoire

dimanche 20 janvier 2008 à 19:35:11 | Récuperer le poid d'un repertoire

setasan9

Bonsoir,

J'ai un petit soucis. Je doit récuperer la taille d'un répertoire pour limiter l'upload de fichier.
Cependant, que ce soit avec ma fonction ou directement dans mon client ftp, on ne la voit pas.

Voici la fonction :


function DirSize($path , $recursive=TRUE){
  $result = 0;
  if(!is_dir($path) || !is_readable($path)) {
  return 0;
  } else {
  $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;
  }
  }


Je récupere ensuite le résultat dans une variable :
$taille_dossier_actuel = DirSize("../chemin/chemin/repertoire" );


Si vous pouviez m'éclaircir les idées.. oO
Merci d'avance !

lundi 21 janvier 2008 à 07:58:27 | Re : Récuperer le poid d'un repertoire

malik7934

Salut,

J'ai déjà utilisé cette fonction exactement en l'état (je sais plus d'où elle sort) et elle fonctionne très bien... question à 2 balles: tu as fais un echo de ta variable $taille_dossier_actuel ? Sinon il se peut que ton path ne passe pas le premier test.

*****
noisy communication - wherever, be everywhere!

lundi 21 janvier 2008 à 11:44:01 | Re : Récuperer le poid d'un repertoire

codefalse

Administrateur CodeS-SourceS
A vue d'oeil, la fonction devrait marcher.
As-tu testé si ton repertoire est accessible en lecture ?

lundi 21 janvier 2008 à 17:48:04 | Re : Récuperer le poid d'un repertoire

setasan9

Bonjour et merci pour vos réponse

Oui j'utilise bien un écho pour récuperer la valeur. En faite le chiffre 0 est renvoyé, alors qu'il y a 6 mo dedant.
Quand jouvre le ftp, j'ai constaté qu'il maffiche la taille des fichiers, mais pas des dossiers (ftp expert).

> As-tu testé si ton repertoire est accessible en lecture ?

Il est en chmod 744 donc oui il est lisible, sauf si tu me parles d'autre chose?
lundi 21 janvier 2008 à 17:58:03 | Re : Récuperer le poid d'un repertoire

codefalse

Administrateur CodeS-SourceS
oui oui c'était bien ca ma question :)

Si tu essaye une fois sans répertoire, et ensuite avec répertoire (histoire de savoir d'ou viens l'erreur).
Met juste un zip de 6 Mo dedans et tu verra.

Par contre je sais pas à combien tu veux limiter, mais fait le pas trop gros car le script risque de prendre du temps sinon pour en connaitre la taille ! :/
lundi 21 janvier 2008 à 18:22:31 | Re : Récuperer le poid d'un repertoire

setasan9

C'est pareil, le resultat reste 0.
Dans ftp expert quand je selectionne le dossier puis propriété il me dit 0 aussi (alors qu'il y a du contenu). Pour connaitre le poid du contenu il faut que j'entre dans le dossier et que je selectionne tous les fichier qui s'y trouvent.

Voici un screen du ftp :

http://www.servimg.com/image_preview.php?i=3&u=10059635

[ Lien ] 

lundi 21 janvier 2008 à 20:33:19 | Re : Récuperer le poid d'un repertoire

codefalse

Administrateur CodeS-SourceS
C'est normal qu'il ne donne pas la taille des dossiers, tout simplement pour éviter d'aller récursivement dans les repertoires pour en évaluer la taille, car si ta beaucoup de données / répertoires, ca prendra trop de temps, ca va submerger le serveur, tout ca juste pour une info que la plupart des personnes ne font même pas attention.

C'est une sorte de respect envers le serveur :p

Apres pour ton script j'ai du mal à comprendre, il devrait marcher normallement ?!

C'est quel environnement ? Linux ou Windows ? (le serveur)
lundi 21 janvier 2008 à 20:37:22 | Re : Récuperer le poid d'un repertoire

setasan9

Le script marche puisque j'ai un retour, qui est 0. (ou marche a moitier je nsai pas)
J'utilise un serveur Linux.


[ Lien ] 

lundi 21 janvier 2008 à 21:35:25 | Re : Récuperer le poid d'un repertoire

codefalse

Administrateur CodeS-SourceS
function DirSize($path , $recursive=TRUE){
    $result = 0;
    if(!is_dir($path) || !is_readable($path)) {
        echo "Ce n'est pas un repertoire valide !
<br/>";
        return 0;
    } else {
        $fd = dir($path);
       echo $path." est un répertoire<br/>";
        while($file = $fd->read()){
            if(($file != "." ) && ($file != ".." )){
                if(@is_dir("$path/$file/" )) {
                   echo
$path."/".$file."/ est un répertoire !<br />";
                   echo $recursive ? "Mode recursif On" : "Mode récursif Off";
                   echo "<br />";
                   $result += $recursive?DirSize("$path/$file/" ):0;
                } else {
                   echo "C'est un fichier, ca taille est de :";
                   echo
filesize("$path/$file" );
                   echo "<br />";
                    $result += filesize("$path/$file" );
                }
            }
        }
    $fd->close();
    return $result;
    }
}


Remplace ton code par celui-ci, et montre moi ce qu'il affiche ! :p
lundi 21 janvier 2008 à 23:20:30 | Re : Récuperer le poid d'un repertoire

setasan9

"Ce n'est pas un repertoire valide ! "
En quoi il ne serait pas valide ?

[ Lien ] 


1 2 3 4

Cette discussion est classée dans : file, récuperer, repertoire, path, result


Répondre à ce message

Sujets en rapport avec ce message

Pb chemin de longueur superieure à 255 caractères [ par kohntark ] Salut, Je souhaite lister un répertoire (ou une unité) afin d'appliquer un traitement à certains types de fichiers. Le script s'execute en CLI sous w Probleme avec is_dir() et is_file [ par zhaar ] Bonjour,J'ai un repertoire avec quelques images en .jpg et des sous répertoires.Pour détecter un sous répertoire, j'utilise un is_dir() dans ma boucle Ordre de listage d'un répertoire [ par Evangun ] Bonsoir! j'ai trouvé la fonction suivante qui liste le contenu d'un répertoire et des sous-répertoires. Elle marche parfaitement sous easyPHP mais le modifier un code sur une gallerie [ par mike501 ] bonjour, je vien de trouver une galerie a mon gout mais le souci c est que les image ce mette toute sur la meme page estce que quelq un pourrai m aide je suis desesperer [ par mike501 ] bonjour, je voudrai savoir si quelq'un pourrai m aider, j ai une gallerie d image mais le souci ces que toute les image sont sur la meme page, je voud creer un compteur [ par mike501 ] bonjour, je vien de trouver une galerie a mon gout mais le souci c est que les image ce mette toute sur la meme page estce que quelq un pourrai m aide creer un compteur sur gallerie [ par mike501 ] bonjour, je vien de trouver une galerie a mon gout mais le souci c est que les image ce mette toute sur la meme page estce que quelq un pourrai m aide creer un compteur [ par mike501 ] bonjour, je vien de trouver une galerie a mon gout mais le souci c est que les image ce mette toute sur la meme page estce que quelq un pourrai m aide Compresser un dossier avec ces sous dossiers [ par Fran6web ] Bonjour, j'ai trouvé sur le site un script vraiment pas mal permettant de faire un backup de certains dossiers du serveur dans un fichier ZIP ( http:/ Lister des fichiers [ par clive2k1 ] Salut! voilà j'ai choper qqpart un script qui permet de lister tout les fichiers d'un repertoire: $repertoire = '**nom/dossier**'; $dir = opendir($r


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,056 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales