IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Système] Problème attributs de dossiers et sous dossiers


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 63
    Points : 38
    Points
    38
    Par défaut [Système] Problème attributs de dossiers et sous dossiers
    Bonjour,

    Je fais une interface en php, qui affiche les dossiers et sous dossiers d'un repertoire.
    Pour l'instant je travail en local.

    Voila mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    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
     
     
     
    <table width="500" border="0" cellspacing="2" cellpadding="0" align="center">
    <?
    $rep=opendir('.');
    $AuMoinsUnRepertoire = false;
    while ($file = readdir($rep)){
    	if($file != '..' && $file !='.' && $file !=''){ 
    		if (is_dir($file)){
    			$AuMoinsUnRepertoire = true;
    			print("<tr><td nowrap class='text1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>");
    			print("<td width='100%' class='text1'>");
    			print("&nbsp;&nbsp;<img src='image/folder.gif' width='38' height='38' align='absbottom'>&nbsp;");
    			print("<a href='$file/' class='text1'>$file</a>");
    			print("<td>");
    			$df = disk_total_space("./"); // $df contient le nombre d'octets du dossier "/"
    			print( $df);
    			print("</td>");
    			print("<td>");
     
    			echo substr(sprintf('%o', fileperms('/')), -4);//la je récupère les droits du dossier
    			print("</td>");
    			print("</td></tr>");
    		}
    	}
    }
    if ($AuMoinsUnRepertoire == false) {
    	print("<tr><td nowrap class='text1'><div align='center'>-&nbsp; $noDir &nbsp;-</div></td>");
    	print("</td></tr>");
    }
     
    closedir($rep);
    clearstatcache();
    ?>
    </table>

    Mon probleme est que la ligne de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    $df = disk_total_space("./"); // $df contient le nombre d'octets du dossier "/"
    Ne me renvoie pas le nombre d'octet.
    Ca me renvoie le chiffre 69503057920 qui correspond à je ne sais quoi car je n'ais meme pas ca en capacité disque dur.

    Quelqu'un pourrait m'éclairé à ce sujet?


    Merci de vos aide


    Bien cordialement

    Justin

  2. #2
    Membre averti Avatar de johweb
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 342
    Points : 367
    Points
    367
    Par défaut
    Tu as un disque de quelle capacité ? Et il te reste combien en espace libre ?
    Parce que 69503057920 octets, ne font "que" 66 Go et quelques (si je me trompe pas... ) ^^

  3. #3
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Commentaires sur cette fonction sur php.net :

    To find the total size of a file/directory you have to differ two situations:
    (on Linux/Unix based systems only!?)

    you are interested:
    1) in the total size of the files in the dir/subdirs
    2) what place on the disk your dir/subdirs/files uses

    - 1) and 2) normaly differs, depending on the size of the inodes
    - mostly 2) is greater than 1) (in the order of any kB)
    - filesize($file) gives 1)
    - "du -ab $file" gives 2)

    so you have to choose your situation!

    on my server I have no rights to use "exec du" in the case of 2), so I use:
    $s = stat($file);
    $size = $s[11]*$s[12]/8);
    whitch is counting the inodes [12] times the size of them in Bits [11]

    hopes this helps to count the used disk place in a right way... :-)

    Andreas Dick

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 63
    Points : 38
    Points
    38
    Par défaut re
    Bonsoir johweb;

    En effet mon disque fait bien cette taille ( )
    Mais pkoi ne prent-il pas en compte la taille du dossier et prent-il la totalité de mon disque dur?

    Par contre jml94 je ne comprend pas trop ton post en anglais.

    Merci de votre aide.

    Cordialement

    Justin

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 63
    Points : 38
    Points
    38
    Par défaut Autre pb
    Encore une petite question.

    Mon code si-dessus liste les dossier d'un fichier.
    Comment faire pour pouvoir naviguer avec les sous dossier etc...

    Merci pour tout

    Justin

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 63
    Points : 38
    Points
    38
    Par défaut
    Bonjour à tous,

    Etant donné que je ne trouve pas la solution, y aurait-il quelqu'un qui aurait un code source de listing de dossier et sous dossier afin que je puisse m'en inspirer.

    Bien cordialement

    Justin

  7. #7
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    php4 ou 5 ?

    Je me rappelle avoir lu une url sur les itérateurs en php5 qui utilisait cette technique classique comme exemple. Je pourrais peut-être la retrouver.

  8. #8
    Membre confirmé Avatar de goodpz
    Profil pro
    Inscrit en
    Février 2007
    Messages
    475
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 475
    Points : 514
    Points
    514
    Par défaut
    Citation Envoyé par jml94
    php4 ou 5 ?

    Je me rappelle avoir lu une url sur les itérateurs en php5 qui utilisait cette technique classique comme exemple. Je pourrais peut-être la retrouver.
    Surement le DirectoryIterator et ses dérivés. La référence est ici: http://www.php.net/~helly/php/ext/spl/

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 63
    Points : 38
    Points
    38
    Par défaut re
    Bonjour à vous.

    Il s'agit de PHP4.

    Merci.

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    Voici un petit script qui te permet de lister les fichiers et dossiers.
    Les fichiers sont téléchargeable et les dossiers s'ouvre au click

    Transfer.ico et Documents.ico sont 2 icones que je peut te donner en cas de besoin.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php
    $rep=opendir('.');
    while ($file = readdir($rep)) {
    	if($file != '..' && $file !='.' && $file !='' && $file !='index.php' && $file !='Transfer.ico' && $file !='Documents.ico' && $file !='puce.gif'){ 
    		if (is_dir($file)){
    			echo "<a href=\"$file/\"><img src=\"Documents.ico\" border=\"0\" width=\"20\" height=\"20\">";
    			echo "$file</a>";
    			echo "<br>";
    		}else{
    			echo "<a href=\"$file\"><img src=\"Transfer.ico\" border=\"0\" width=\"20\" height=\"20\">";
    			echo "$file</a>";
    			echo "<br>";
     
    		}
    	}
    }
    closedir($rep);
    clearstatcache();
    ?>
    Voili voilou

  11. #11
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Citation Envoyé par Justin_C
    Bonjour à vous.

    Il s'agit de PHP4.

    Merci.
    Et bien tu n'as plus qu'à réfléchir à une fonction récursive.

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 63
    Points : 38
    Points
    38
    Par défaut re
    Merci pour vos réponse je ne connais pas cette fonction mais je vais devoir me pencher dessus.

    Je vous tiens au courant de l'évolution de mon problème

    Bien cordialement

    Justin

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2011, 01h43
  2. [Snow Leopard] Problème de droits avec un dossier, ses sous-dossier et ses fichiers
    Par rambc dans le forum Apple
    Réponses: 21
    Dernier message: 07/03/2010, 10h18
  3. Réponses: 1
    Dernier message: 30/12/2006, 11h14
  4. Réponses: 4
    Dernier message: 25/04/2006, 16h16
  5. Réponses: 5
    Dernier message: 19/04/2005, 08h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo