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

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Connaître la taille d'un répertoire sur un serveur en local...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Connaître la taille d'un répertoire sur un serveur en local...

n°607910
Webman
Posté le 11-01-2004 à 10:59:58  profilanswer
 

Salut,
 
Je cherche un petit script qui puisse me donner la taille d'un répertoire local, c'est pour établir donner aux utilisateurs l'espace dont ils disposent sur leur compte (sur un serveur Web pour l'hébergement). Il ne me faut donc que pouvoir retourner la taille d'un répertoire local sur le serveur. Le serveur tourne sous Windows Server 2003 avec PHP 4.3.3
 
:hello:

mood
Publicité
Posté le 11-01-2004 à 10:59:58  profilanswer
 

n°607921
Freekill
Electron libre…
Posté le 11-01-2004 à 11:27:24  profilanswer
 
n°607968
jagstang
Pa Capona ಠ_ಠ
Posté le 11-01-2004 à 13:17:05  profilanswer
 

tu fais de l'hébergement de site web PHP sur Windows 2003 Server ?

n°608018
Webman
Posté le 11-01-2004 à 14:18:29  profilanswer
 

Ok merci pour le lien. Oui je fais de l'hébergement PHP sous 2003 Server, avec base de données MySQL, j'utilise aussi l'ASP.Net et des bases de données Access. Pourquoi tu poses cette question ? :)
 
Sinon j'ai encore quelques problèmes pour ce script, j'arrive pas à avoir la taille des sous repertoires dans le répertoire.
 
:hello:

n°608058
Webman
Posté le 11-01-2004 à 15:09:13  profilanswer
 

Je me suis bien compliqué la vie, en fait il existe une fonction pour faire ca directe, pas besoin d'ajouter la taille de tous les fichiers...
 

Code :
  1. <?php
  2. $df = disk_total_space("c:/data/" );
  3. echo($df/1024/1024/1024);
  4. ?>


 
Il me reste plus qu'a arrondir tout ca et ce sera bon :)
 
EDIT: et voilà ca marche...
 

Code :
  1. <?php
  2. $df = disk_total_space("c:/data/" );
  3. echo round($df/1024/1024/1024, 2);
  4. ?>


Message édité par Webman le 11-01-2004 à 15:12:02
n°608060
jagstang
Pa Capona ಠ_ಠ
Posté le 11-01-2004 à 15:17:17  profilanswer
 

Webman a écrit :

Ok merci pour le lien. Oui je fais de l'hébergement PHP sous 2003 Server, avec base de données MySQL, j'utilise aussi l'ASP.Net et des bases de données Access. Pourquoi tu poses cette question ? :)
 
Sinon j'ai encore quelques problèmes pour ce script, j'arrive pas à avoir la taille des sous repertoires dans le répertoire.
 
:hello:


C'est pas le genre de truc qui cohabite régulièrement (prix des licences)
 
perso ça serait mieux de monter 2 machines.  

n°608063
jagstang
Pa Capona ಠ_ಠ
Posté le 11-01-2004 à 15:20:04  profilanswer
 

Excuse je croyais que tu faisais de l'hébergement pro. J'ai mal compris


Message édité par jagstang le 11-01-2004 à 20:20:14
n°608067
Webman
Posté le 11-01-2004 à 15:25:53  profilanswer
 

Non je suis étudiant en informatique et je bosse sur mon projet... qui est entre autre d'avoir des fonctions d'hébergement :)
 
:hello:


Message édité par Webman le 11-01-2004 à 15:28:37
n°608076
Webman
Posté le 11-01-2004 à 15:33:34  profilanswer
 

Je ne comprends pas pourquoi quand je modifie le contenu du répertoire et que j'actualise la page je retrouve toujours le même résultat, un peu comme si ke contenu de la variable était fixé en mémoire. Ne connaissant pas grand chose en PHP je voudrais savoir comment forcer le rafraichissement de ces varaibles...
 
Voilà le script:

Code :
  1. <?php
  2. $rep_user = disk_total_space("c:/data/" );
  3. $espace_libre = 32212254720 - $rep_user;
  4. echo round($espace_libre/1024/1024/1024, 2);
  5. ?>


 
:hello:
 
EDIT: apparement il y a un problème dans mon script... je sais pas ou mais c'est plus profond que ce que je pensais... il faut que je reprenne tout je crois... :d


Message édité par Webman le 11-01-2004 à 15:40:57
n°608086
Webman
Posté le 11-01-2004 à 15:49:55  profilanswer
 

J'ai trouvé, en fait $rep_user = disk_total_space("c:/data/" ); me donne la taille du disque dur et non du repertoire... aggrrrhhh je suis un âne...
Si quelqu'un à la solution je suis preneur.
 
:hello:

mood
Publicité
Posté le 11-01-2004 à 15:49:55  profilanswer
 

n°608092
Webman
Posté le 11-01-2004 à 16:02:12  profilanswer
 

C'est bon j'ai trouvé mon bonheur, enfin j'espère...
 

Code :
  1. <?
  2. // RETURNS THE TOTAL SIZE OF ALL FILES
  3. // WITHIN A DIRECTORY AND SUBSEQUENT CHILD DIRECTORIES
  4. // LIMITED TO DIRECTORIES AND FILES OWNED BY  
  5. // THE OPERATING USER (PHP/APACHE IN MOST CASES)
  6. //
  7. // RETURNS AN INT
  8. //
  9. function dir_size($DIR = FALSE) {
  10. // IF DIR IS TRUE AND IS A DIRECTORY
  11. if ($DIR &&
  12.    is_dir($DIR)) {
  13. // ADD TRAILING SLASH
  14. if (substr($DIR,-1) != "/" ) $DIR .= "/";
  15. // OPEN DIRECTORY
  16. if ($DIR_ID = opendir($DIR)) {
  17. // LOOP THROUGH CONTENTS OF DIR
  18. while (($ITEM = readdir($DIR_ID)) !== FALSE) {
  19. // IF ITEM DOES NOT EQUAL "." AND ".."
  20. if ($ITEM != "." &&
  21.    $ITEM != ".." ) {
  22. // IF ITEM IS A DIRECTORY
  23. if (is_dir($DIR . $ITEM)) {
  24. // CALL FUNCTION RECURSIVELY
  25. $SIZE += dir_size($DIR . $ITEM);
  26. // ELSE ITEM IS A FILE
  27. } else {
  28. // ADD SIZE OF FILE
  29. $SIZE += filesize($DIR . $ITEM);
  30. }
  31. }
  32. }
  33. // CLOSE DIRECTORY
  34. closedir($DIR_ID);
  35. }
  36. }
  37. // RETURN SIZE
  38. return $SIZE;
  39. }
  40. print(dir_size("c:/mon_repertoire/" ));
  41. ?>


 
Il me retourne la bonne taille :) donc ca doit être bon :)
 
:hello:

n°608210
Freekill
Electron libre…
Posté le 11-01-2004 à 18:40:12  profilanswer
 

La solution était dans les commentaires de la page du manuel php que j'avais indiquée mais bon?


---------------
Faux & usage de faux ¤ Machins roses ¤ ASCIImage ¤ HFR Enhance v0.8.6

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

  [PHP] Connaître la taille d'un répertoire sur un serveur en local...

 

Sujets relatifs
[PHP/sql] Valeur d'un champs table sql qui change au cours du temps ?[PB'S]Easy PHP & PHP Nuke
[PHP] Pour faire une mosaique photoSQL Serveur 2000: Select avec concaténation !
[PHP] redimensionner une image ?Prob avec la touche "entrée" pour formulaire PHP ou HTML ?
[PHP] Utilisation de RedirectPermanent vers JPG ?[PHP]Autoriser l'accés à un fichier pendant un temps précis ?
[PHP] Vote une fois par jourExecution d un EXE sur le serveur a partir d une page WEB
Plus de sujets relatifs à : [PHP] Connaître la taille d'un répertoire sur un serveur en local...


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