Accueil > Forum > > > > Récuperer le poid d'un repertoire
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.
|
|
lundi 21 janvier 2008 à 11:44:01 |
Re : Récuperer le poid d'un repertoire

codefalse
|
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
|
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
|
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
|
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 ]
|
|
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
Livres en rapport
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
CHAMPS TIMECHAMPS TIME par vargas
Cliquez pour lire la suite par vargas
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|