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

  FORUM HardWare.fr
  Programmation
  PHP

  probleme calcul taille SQL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

probleme calcul taille SQL

n°1342355
albator-hc
Posté le 09-04-2006 à 13:04:46  profilanswer
 

Bonjour a vous.
 
Je suis en trin de developper un ptit site pour moi, mais la je bloque sur une page : jvous esplique.
 
 
Je veut calculer la taille du SQL utiliser par une base. Sous easyphp, chaque base a un repertoire situer dans /easyphp/mysql/data.
 
Deja, jai mis un alias pour avoir ce repertoire en /SQL.
 
ensuite jessaye de le lister avec le script suivant :
 

Code :
  1. function spaceDisk($adr="." ) {
  2.     static $size;
  3.     $dp=opendir($adr);
  4.     do {
  5.         $itm=readdir($dp);
  6.         if (is_dir("$adr/$itm" ) && ($itm!="." ) && ($itm!=".." ) && ($itm!="" )) {
  7.             spaceDisk("$adr/$itm" );
  8.         }
  9.         elseif (($itm!="." ) && ($itm!=".." ) && ($itm!="" )) {
  10.             $size = $size + filesize("$adr/$itm" );
  11.         }
  12.     }
  13.     while ($itm != false);
  14.     closedir($dp);
  15.     return round($size / (1024*1024),2);
  16. }
  17. $taille = spaceDisk("$site" );


 
 
Cette fonction marche bien pour calculer un truc a la racine du site, mais jse pas dou ca vien on dirai ke ca veut pâs avec mon alias.
 
 
 
Jai essayer dans le rep des data de mettre un fichier php avec ce script et de l'include, mais ca marche pas il me dit :
 

Code :
  1. Warning: main(/calculsql/calcul.php): failed to open stream: No such file or directory in c:\program files\easyphp1-7\www\membre.php on line 86
  2. Warning: main(): Failed opening '/calculsql/calcul.php' for inclusion (include_path='.;C:\Program Files\EasyPHP1-7\php\pear\') in c:\program files\easyphp1-7\www\membre.php on line 86
  3. Notice: Undefined variable: taille2 in c:\program files\easyphp1-7\www\membre.php on line 87


 
ou la ligne 87 et 88 coresponde a l'include, comme si il trouver pas le fichier.
 
 
quelqu'un a t'il une petite idee?
 
Merci a vous d'avance!!!

mood
Publicité
Posté le 09-04-2006 à 13:04:46  profilanswer
 

n°1342403
Sve@r
Posté le 09-04-2006 à 14:30:17  profilanswer
 

albator-hc a écrit :

Bonjour a vous.
 
Je suis en trin de developper un ptit site pour moi, mais la je bloque sur une page : jvous esplique.
 
 
Je veut calculer la taille du SQL utiliser par une base. Sous easyphp, chaque base a un repertoire situer dans /easyphp/mysql/data.
 
Deja, jai mis un alias pour avoir ce repertoire en /SQL.
 
ensuite jessaye de le lister avec le script suivant :
 

Code :
  1. function spaceDisk($adr="." ) {
  2.     static $size;
  3.     $dp=opendir($adr);
  4.     do {
  5.         $itm=readdir($dp);
  6.         if (is_dir("$adr/$itm" ) && ($itm!="." ) && ($itm!=".." ) && ($itm!="" )) {
  7.             spaceDisk("$adr/$itm" );
  8.         }
  9.         elseif (($itm!="." ) && ($itm!=".." ) && ($itm!="" )) {
  10.             $size = $size + filesize("$adr/$itm" );
  11.         }
  12.     }
  13.     while ($itm != false);
  14.     closedir($dp);
  15.     return round($size / (1024*1024),2);
  16. }
  17. $taille = spaceDisk("$site" );


 
 
Cette fonction marche bien pour calculer un truc a la racine du site, mais jse pas dou ca vien on dirai ke ca veut pâs avec mon alias.


 
C'est pas terrible cette variable "static". Je vois ce que tu veux faire (utiliser cette variable pour accumuler les différentes tailles des sous-répertoires) mais je suis pas certain que le php le voit comme moi.
 
En plus, tu renvoies des tailles en Go que tu additionnes avec des tailles en octet que tu transformes encore en Go dans la fonction père...
 
Essaye plutôt un truc de ce style

Code :
  1. function spaceDisk($adr="." ) {
  2.     $size=0;
  3.     $dp=opendir($adr);
  4.     while (($itm=readdir($dp)) != false)
  5.     {
  6.         if ($itm == "." || $itm == ".." || $itm == "" )
  7.              continue;
  8.         $size+=is_dir("$adr/$itm" ) ?spaceDisk("$adr/$itm" )  :filesize("$adr/$itm" );
  9.     }
  10.     closedir($dp);
  11.     return ($size);
  12. }
  13. $taille = round(spaceDisk("$site" ) / 1024 / 1024, 2);


Message édité par Sve@r le 09-04-2006 à 14:35:59

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°1342454
albator-hc
Posté le 09-04-2006 à 17:29:38  profilanswer
 

mais la fonction marche bien toute seul.
 
c juste lors de l'include avec l'alias que ca merde.
 
sinon je testerai ton code


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

  probleme calcul taille SQL

 

Sujets relatifs
[GetXMLTree] Problème de récupération de certains flux RSSWin32 problème de liens...
problème de filsbase de données/ taille
Probleme chargement librairie.[SQL] question de cours sur requêtes SQL
problème de booléenQuestion sur sauvegarde de BDD SQL chez Online
XHTML : probleme de footer[qt designer] Calcul du centre d'un objet
Plus de sujets relatifs à : probleme calcul taille SQL


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