Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2475 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [RESOLU]Afficher le poids des fichiers listés automatiquement en PHP

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU]Afficher le poids des fichiers listés automatiquement en PHP

n°1658851
hyperion66
Posté le 16-12-2007 à 09:38:10  profilanswer
 

Bonjour à tous,
 
J'ai un script PHP qui me génère une liste des fichiers dont j'ai choisi l'extension et créé automatiquement des liens.
Voilà ce que ça donne : http://www.zerobug.fr/liste-conten [...] t-php.php3
 
Juste avant le tableau, j'ai réussi à afficher le nombre de fichiers listés...et j'arrive à afficher le poids de chacun des fichiers, mais je n'ai pas encore réussi à afficher le poids total des fichiers listés.
Quelqu'un peut-il m'aider ?
 
Merci


Message édité par hyperion66 le 17-12-2007 à 14:15:17

---------------
MATOS VELO - Club Strava Matos Vélo
mood
Publicité
Posté le 16-12-2007 à 09:38:10  profilanswer
 

n°1658888
leflos5
On est ou on est pas :)
Posté le 16-12-2007 à 12:21:02  profilanswer
 

Comment calcules tu le nombre de fichier :??:
Suffit de faire un compteur :spamafote:

n°1658939
hyperion66
Posté le 16-12-2007 à 14:40:01  profilanswer
 

Le code source est maintenant dispo sur la même page dans la liste des fichiers. C'est le fichier code-source-php.txt.


---------------
MATOS VELO - Club Strava Matos Vélo
n°1658942
FlorentG
Unité de Masse
Posté le 16-12-2007 à 14:49:38  profilanswer
 

Suffit comme dit leflo, de mettre un compteur où tu additionnes le poids. Et le code est un peu lourdingue, pourquoi répéter à chaque fois l'extension via "strtolower(strrchr($filename, '.'))" ? Suffit de le faire une fois, ce serait plus léger. Sinon la fonction glob fait déjà ça toute seule :)

n°1658951
hyperion66
Posté le 16-12-2007 à 15:15:29  profilanswer
 

S'il y a moyen de simplifier le code, je suis preneur.
Je n'ai pas de connaissances en PHP....tout au moins sont elles très limitées.


---------------
MATOS VELO - Club Strava Matos Vélo
n°1659117
hyperion66
Posté le 17-12-2007 à 00:13:23  profilanswer
 

Personne pour me guider vraiment ?


---------------
MATOS VELO - Club Strava Matos Vélo
n°1659137
leflos5
On est ou on est pas :)
Posté le 17-12-2007 à 05:20:39  profilanswer
 

Pour le poids total :??: Je t'ai tout dit :spamafote: Pour la simplification j'arrive pas à lire ton code :spamafote:

n°1659155
hyperion66
Posté le 17-12-2007 à 08:34:46  profilanswer
 

Suffit de faire un compteur...désolé, je n'ai aucune connaissance en PHP.
J'avais déjà tenté des compteurs avec mes faibles connaissances, mais ça me donnait le poids de tous les fichiers du dossier, et pas seulement le poids des fichiers listés.


Message édité par hyperion66 le 17-12-2007 à 08:50:45

---------------
MATOS VELO - Club Strava Matos Vélo
n°1659159
FlorentG
Unité de Masse
Posté le 17-12-2007 à 09:01:23  profilanswer
 

Mais t'as déjà fait de la prog dans d'autres langages, nan ?

n°1659181
hyperion66
Posté le 17-12-2007 à 10:02:21  profilanswer
 

Non, mis à part du HTML !


---------------
MATOS VELO - Club Strava Matos Vélo
mood
Publicité
Posté le 17-12-2007 à 10:02:21  profilanswer
 

n°1659255
kao98
...
Posté le 17-12-2007 à 11:27:59  profilanswer
 

Tu affiches les poids dans ton tableau ! Suffit que, au fur et à mesure que tu les affiches, tu les additionnes ! stout !


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°1659256
hyperion66
Posté le 17-12-2007 à 11:29:32  profilanswer
 

Je me doute bien...mais ne sait pas comment mettre ça en pratique.


---------------
MATOS VELO - Club Strava Matos Vélo
n°1659289
micfont999
Simplement Moi
Posté le 17-12-2007 à 11:52:26  profilanswer
 

Bonjour
Tu déclare une variable avant ton foreach  
 
et au moment du round(filesize($dir."/".$pdf_file)/1024,2) .'Ko bah tu incrémente ta variable de ton petit round :)  
 
et voila après ton foreach t'aura la somme totale.
 

n°1659295
hyperion66
Posté le 17-12-2007 à 11:58:20  profilanswer
 

Bon, je vous donne le code car je ne comprends rien à ce que vous dite. J'ai réussi à faire ce code après pas mal de temps, à partir de bouts de codes préexistants....mais au-delà, je suis totalement incompétent.

Code :
  1. <?php
  2. function listing($dir)
  3. {
  4. $pdf_files = array();
  5. $dh = opendir($dir);
  6. while (false !== ($filename = readdir($dh)))
  7. {
  8. if(strtolower(strrchr($filename, '.')) == '.pdf')
  9. $pdf_files[] = $filename;
  10.   elseif(strtolower(strrchr($filename, '.')) == '.php3')
  11. $pdf_files[] = $filename;
  12.     elseif(strtolower(strrchr($filename, '.')) == '.html')
  13. $pdf_files[] = $filename;
  14.      elseif(strtolower(strrchr($filename, '.')) == '.txt')
  15. $pdf_files[] = $filename;
  16.      elseif(strtolower(strrchr($filename, '.')) == '.php')
  17. $pdf_files[] = $filename;
  18. }
  19. rsort($pdf_files);
  20. foreach($pdf_files as $pdf_file)
  21. {
  22. /* à partir de là, on créé le lien forçant le
  23. //téléchargement du fichier PDF
  24. //Pour cela, il vous faudra créer dans chaque répertoire à lister
  25. //un fichier php (ici nommé down.php) composé comme ceci :
  26. //<?  
  27.     //header("Content-type: application/pdf" );  
  28.     //header("Content-Disposition: attachment; filename=$pdf" );  
  29.     //readfile($pdf);  
  30.     //?> */
  31.   echo '<tr>
  32.           <td><p align="center"><a href="'.rawurlencode($dir).'/down.php?pdf='.rawurlencode(str_replace ('/', '', $pdf_file)).'">'.$pdf_file.'</a></p></td>
  33.         <td><p align="center">'.date ("d/m/Y", filectime($dir."/".$pdf_file)).'</p></td><td><p align="center">'.round(filesize($dir."/".$pdf_file)/1024,2) .'Ko</p></td>
  34.         </tr>';
  35. }
  36. echo '<p>Fichiers diponibles : '.count($pdf_files).'</p>';
  37.  }
  38.  
  39. listing($path);
  40. $urlComplete= rawurlencode(str_replace ('/', '', $value));
  41. ?>


---------------
MATOS VELO - Club Strava Matos Vélo
n°1659301
FlorentG
Unité de Masse
Posté le 17-12-2007 à 12:02:02  profilanswer
 

Ce qu'il te manque avant tout alors, est d'apprendre à programmer, tout simplement.
 
En gros, faut déclarer une variable, initialisée à 0, et y additionner la taille des fichiers. C'est simplement une somme dans une variables, c'est le genre d'exercices qui fait partie de la base quand t'apprend.
 
Faut mieux que tu cherches des cours ou des tutoriaux sur la programmation, ça sera 10x plus simple :)

n°1659307
micfont999
Simplement Moi
Posté le 17-12-2007 à 12:06:30  profilanswer
 

Bon on reprend
Tu veux avoir la somme des poids.
Donc tu dois à un moment donné les additionnés.
Le foreach est une boucle parcourant tes fichiers .Donc c'est dedant que tu devra additionné tes machins.
le Poids tu l'obtiens avec le round(gnagnagna) donc c'est ce round qu'il faudra additionné avec les précédents et les suivants.
Pour ça il faut que tu dise avant tout tien une petite variable vide qui prendra mes rounds
ça donne ça
 

Code :
  1. function listing($dir)
  2. {
  3. $pdf_files = array();
  4. $dh = opendir($dir);
  5. while (false !== ($filename = readdir($dh)))
  6. {
  7. if(strtolower(strrchr($filename, '.')) == '.pdf')
  8. $pdf_files[] = $filename;
  9.    elseif(strtolower(strrchr($filename, '.')) == '.php3')
  10. $pdf_files[] = $filename;
  11.      elseif(strtolower(strrchr($filename, '.')) == '.html')
  12. $pdf_files[] = $filename;
  13.       elseif(strtolower(strrchr($filename, '.')) == '.txt')
  14. $pdf_files[] = $filename;
  15.       elseif(strtolower(strrchr($filename, '.')) == '.php')
  16. $pdf_files[] = $filename;
  17. }
  18. rsort($pdf_files);
  19. $sommepoids = "";
  20. foreach($pdf_files as $pdf_file)
  21. {
  22. /* à partir de là, on créé le lien forçant le
  23. //téléchargement du fichier PDF
  24. //Pour cela, il vous faudra créer dans chaque répertoire à lister
  25. //un fichier php (ici nommé down.php) composé comme ceci :
  26. //<?   
  27.      //header("Content-type: application/pdf" );   
  28.      //header("Content-Disposition: attachment; filename=$pdf" );   
  29.      //readfile($pdf);   
  30.      //?> */
  31. $poidsdufichier = round(filesize($dir."/".$pdf_file)/1024,2);
  32. $sommepoids += $poidsdufichier;
  33.   echo '<tr>
  34.            <td><p align="center"><a href="'.rawurlencode($dir).'/down.php?pdf='.rawurlencode(str_replace ('/', '', $pdf_file)).'">'.$pdf_file.'</a></p></td>
  35.          <td><p align="center">'.date ("d/m/Y", filectime($dir."/".$pdf_file)).'</p></td><td><p align="center">'. $poidsdufichier.'Ko</p></td>
  36.          </tr>';
  37. }
  38. echo '<p>Fichiers diponibles : '.count($pdf_files).'</p>';
  39. echo 'poids total'.$sommepoids;
  40. }
  41.  
  42. listing($path);
  43. $urlComplete= rawurlencode(str_replace ('/', '', $value));
  44. ?>

n°1659309
micfont999
Simplement Moi
Posté le 17-12-2007 à 12:07:12  profilanswer
 

FlorentG a écrit :

Ce qu'il te manque avant tout alors, est d'apprendre à programmer, tout simplement.
 
En gros, faut déclarer une variable, initialisée à 0, et y additionner la taille des fichiers. C'est simplement une somme dans une variables, c'est le genre d'exercices qui fait partie de la base quand t'apprend.
 
Faut mieux que tu cherches des cours ou des tutoriaux sur la programmation, ça sera 10x plus simple :)


 
 [:benou_grilled]  
 

n°1659320
hyperion66
Posté le 17-12-2007 à 12:55:56  profilanswer
 

Merci beaucoup, c'est exactement ce qu'il me fallait !


---------------
MATOS VELO - Club Strava Matos Vélo
n°1659339
micfont999
Simplement Moi
Posté le 17-12-2007 à 13:42:56  profilanswer
 

Met le topic en résolu please :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [RESOLU]Afficher le poids des fichiers listés automatiquement en PHP

 

Sujets relatifs
[c++][resolu]Problème de compilation.comment ne pas afficher les erreurs
[C++] [résolu] Besoin d'un coup de main pour déboguer mon algo de tri[Résolu] Site internet en japonais
[resolu]Boucles sur des requetes MySQLPHP :Récupération d'une donnée à l'aide d'une requête
Copie locale de fichiers depuis une bibliothèque de documents WSS[résolu] Automatiser une fonction excel sur vba
peut on séparer les chiffres d'un nombre en PHP ?[PHP][DOM] balises select non envoyé au serveur
Plus de sujets relatifs à : [RESOLU]Afficher le poids des fichiers listés automatiquement en PHP


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR