Récuperer le poid d'un repertoire

Résolu
setasan9 Messages postés 98 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 16 mars 2009 - 20 janv. 2008 à 19:35
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 - 30 janv. 2008 à 19:52
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 !

33 réponses

codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
23 janv. 2008 à 14:13
et le dossier existe bien ?
0
setasan9 Messages postés 98 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 16 mars 2009
23 janv. 2008 à 20:20
oui, j'ai essayer avec un autre dossier, et en mettant un lien sans variable

http://mangasei.jexiste.fr 
0
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
23 janv. 2008 à 21:35
Quels sont les droits sur le dossier ?
Ca doit etre minimum de 4 pour l'utilisateur ou le group qui utilise apache
0
setasan9 Messages postés 98 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 16 mars 2009
24 janv. 2008 à 20:17
L'autorisation est de 755 pourtant. J'ai testé en 777 aussi, mais que dal...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
24 janv. 2008 à 21:41
C'est surprenant :p
Essaye voir avec un répertoire absolu (regarde un phpinfo pour connaitre le path du dossier sur le serveur, et tente avec)

Et sinon essaye avec var_dump (is_dir ('.'));
0
setasan9 Messages postés 98 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 16 mars 2009
29 janv. 2008 à 20:03
Bonsoir, désolé pour le temps de réponse, ma crate mere est morte.
J'ai deja essayé de mettre un lien, absolu, sans résultat. Mais le lien asbolu etait http://domaine.com/../../dossier.

Dans php info, quel lien obsolu dois-je récuperer ?

Sinon existe t'il peut etre une autre facon de récuperer la taille d'un dossier?
Par exemple en parcourant chaque fichiers qui y sont en récuperant leur taille et  les aditionner.
0
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
29 janv. 2008 à 22:08
Si tu regarde ton echo phpinfo (); tu verra à un moment l'adresse du fichier php en absolu (si c'est sur le serveur c'est un truc genre /var/www/html/user/u/s/e/tonsite/tonfichier.php

C'est cette adresse qu'il faut utiliser
0
setasan9 Messages postés 98 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 16 mars 2009
29 janv. 2008 à 23:13
Alos voila le lien absolu vers mon phpinfo.php qui ce trouve dans la racine du site.

/kunden/homepages/33/d184441blabla/htdocs/phpinfo.php

Donc pour mon dossier
/kunden/homepages/33/d184441475/htdocs/redirections/le_dossier

Que dois-je mettre avant /kunden ?
J'ai essayer d'y mettre l'ip du serveur (en vain), et tout seul comme ci-dessus le lien est mauvais. :s
0
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
30 janv. 2008 à 09:20
rien, ca suffit, c'est le repertoire absolu sur une machine linux, le premier slash indique le repertoire racine (le c:\ sur un windows par exemple)
0
setasan9 Messages postés 98 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 16 mars 2009
30 janv. 2008 à 12:37
Taille 0 toujours. J'ai essayé un autre script que j'ai trouvé en ligne, c'est pareil.
Peut etre faut'il que j'indique le numéro de l'extention de mon fichier php ? php4..

http://mangasei.jexiste.fr 
0
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
30 janv. 2008 à 13:36
Normalement c'est bon étant donné qu'il te prends en compte la variable.
Peut-etre que ton fournisseur à désactivé le retour de fonction ? (ca m'étonnerai mais bon)

Là je pourrais pas t'aider plus par contre :/
0
setasan9 Messages postés 98 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 16 mars 2009
30 janv. 2008 à 18:20
Je vais me renseigner, je vous tien au courant.
0
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
30 janv. 2008 à 19:52
Content que ca marche :)
0
Rejoignez-nous