ESPACE LIBRE SUR VOTRE COMPTE

tazmania37 Messages postés 46 Date d'inscription mercredi 29 octobre 2003 Statut Membre Dernière intervention 10 novembre 2009 - 27 mai 2004 à 16:05
jctout21 Messages postés 2 Date d'inscription vendredi 6 juin 2008 Statut Membre Dernière intervention 6 juin 2008 - 6 juin 2008 à 21:00
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/23184-espace-libre-sur-votre-compte

jctout21 Messages postés 2 Date d'inscription vendredi 6 juin 2008 Statut Membre Dernière intervention 6 juin 2008
6 juin 2008 à 21:00
SORRY JAVAIS PAS VUS LE POST DE TAZMANIA37 G REMIS LE POINT VIRGULE ET SA MARCHE

MERCI QD MM
jctout21 Messages postés 2 Date d'inscription vendredi 6 juin 2008 Statut Membre Dernière intervention 6 juin 2008
6 juin 2008 à 20:55
DESOLER DE VOUS EMBETER MAIS J CONNAIS RIEN EN PHP ET J4AI UN PROBLEME SUR MON SITE, G MIS LES FICHIERS SUR LE FTP MAIS G UNE ERREUR QUE JE COMPREND PAS:

Parse error: syntax error, unexpected T_VARIABLE in /www/afdd/freespace.php on line 16

POUVEZ VOUS M'AIDER
cs_MAsterC Messages postés 217 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 19 décembre 2012
15 janv. 2006 à 23:03
J'ai trouvé un bug, Si le Quota est de 150 Megs et qui à 0 d'espace utilisé la barre nous indique qu'il nous reste 150% d'espace libre...
yurispy Messages postés 39 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 7 septembre 2006
2 oct. 2005 à 18:30
Salut
je viens de testé mais chez moi il y a rien qui s'affiche sniff

quelqu'un pourrait m'aider, merci
Krakerz Messages postés 2 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 26 juillet 2005
26 juil. 2005 à 23:17
en fait j'avais installé la correction apportée (PSYJC) qui ne marche pas ; par contre la solution de tazmania37 marche parfaitement, merci
Krakerz Messages postés 2 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 26 juillet 2005
26 juil. 2005 à 20:52
J'ai ajouté ce script sur un formulaire d'upload de mon site : il me donne une taille utilisée de 109 Mo alors que seulement 2 Mo sont utilisés. Une idée sur la raison de ce problème ?
cbdreamdev Messages postés 1 Date d'inscription jeudi 12 août 2004 Statut Membre Dernière intervention 13 juillet 2005
13 juil. 2005 à 23:59
Merci beaucoup pour cette source bien pratique dans une console d'Admin ;)
ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 2
12 déc. 2004 à 14:07
il faut régler IIS et apache ( pour easyphp )
HagRapMan Messages postés 73 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 12 juillet 2007 6
11 déc. 2004 à 22:09
salut!
j'ai un petit problème de variables indéfinies!

Notice: Undefined variable: size in C:\12\space\freespace.php on line 31

Notice: Undefined variable: size in C:\12\space\freespace.php on line 31

Notice: Undefined variable: size in C:\12space\freespace.php on line 36

Notice: Undefined variable: size in C:\12\space\freespace.php on line 37

Notice: Undefined variable: size in C:\12\space\freespace.php on line 27

Notice: Undefined variable: size in C:\12\space\freespace.php on line 31

Notice: Undefined variable: size in C:\12\space\freespace.php on line 31

Notice: Undefined variable: size in C:\12\space\freespace.php on line 27

Notice: Undefined variable: size in C:\12\space\freespace.php on line 31

Notice: Undefined variable: size in C:\12\space\freespace.php on line 31

Notice: Undefined variable: size in C:\12\space\freespace.php on line 31

Notice: Undefined variable: size in C:\12\space\freespace.php on line 31

Notice: Undefined variable: size in C:\12\space\freespace.php on line 31

Notice: Undefined variable: size in C:\12\space\freespace.php on line 31

Notice: Undefined variable: size in C:\12\space\freespace.php on line 31

Notice: Undefined variable: size in C:\12\space\freespace.php on line 31

Notice: Undefined variable: size in C:\12\space\freespace.php on line 27

Notice: Undefined variable: size in C:\12\space\freespace.php on line 31

Notice: Undefined variable: size in C:\12\space\freespace.php on line 31

Notice: Undefined variable: size in C:\12\space\freespace.php on line 31

Notice: Undefined variable: size in C:\12\space\freespace.php on line 31

Notice: Undefined variable: size in C:\12\space\freespace.php on line 27

Notice: Undefined variable: size in C:\12\space\freespace.php on line 31

Notice: Undefined variable: size in C:\12\space\freespace.php on line 31

Notice: Undefined variable: size in C:\12\space\freespace.php on line 31

Notice: Undefined variable: size in C:\12\space\freespace.php on line 27

Notice: Undefined variable: size in C:\12\space\freespace.php on line 31

Notice: Undefined variable: size in C:\12\space\freespace.php on line 27

Notice: Undefined variable: size in C:\12\space\freespace.php on line 31

Notice: Undefined variable: size in C:\12\space\freespace.php on line 27

Notice: Undefined variable: size in C:\12\space\freespace.php on line 31

Notice: Undefined variable: size in C:\12\space\freespace.php on line 27

Notice: Undefined variable: size in C:\12\space\freespace.php on line 31

PS : j'héberge sur mon ordi avec IIS + PHP 5

J'ai aussi essayé avec easy PHP : même erreur!
yo252yo Messages postés 20 Date d'inscription samedi 14 juin 2003 Statut Membre Dernière intervention 14 avril 2005
13 sept. 2004 à 18:58
je parlais (je sais pas si tu as compris) d'une page sur un serveur A qui indique l'état d'un autre serveur B. Si c'est possible comment faire lol ?
tazmania37 Messages postés 46 Date d'inscription mercredi 29 octobre 2003 Statut Membre Dernière intervention 10 novembre 2009
13 sept. 2004 à 11:27
Je ne pense pas qu'il y ai de problèmes. Il faut juste que ton hébergeur ai PHP.
yo252yo Messages postés 20 Date d'inscription samedi 14 juin 2003 Statut Membre Dernière intervention 14 avril 2005
13 sept. 2004 à 08:33
c'est cool mais y'a moyen de l'adapter pour que ca me donne l'espace libre sur d'autres serveurs (genre ftp voila, multimania, etc..)
tazmania37 Messages postés 46 Date d'inscription mercredi 29 octobre 2003 Statut Membre Dernière intervention 10 novembre 2009
9 juin 2004 à 09:20
Aucune idée !
Je suis même pas sûr que ce soit possible !
tazmania37 Messages postés 46 Date d'inscription mercredi 29 octobre 2003 Statut Membre Dernière intervention 10 novembre 2009
9 juin 2004 à 09:11
Aucune idée !
Je suis même pas sûr que ce soit possible !
ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 2
8 juin 2004 à 22:51
oui
Merci les gars
Autre question qui a rein a voir comment on mdif ces ancien MSG dans ce forum?
tazmania37 Messages postés 46 Date d'inscription mercredi 29 octobre 2003 Statut Membre Dernière intervention 10 novembre 2009
8 juin 2004 à 22:42
oui, on est là !!!
La méthode récursive... alors
Supposons que tu sois dans un sous-répertoire X, la méthode récursive te permet de tenir compte des fichiers se trouvant au dessus de ce répertoire X, cela permet de tenir compte de tous les fihiers de ton serveur même si tu exécutes le script dans un répertoire quelconque !

Ai-je répondu à ta question ?
ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 2
8 juin 2004 à 22:14
Dites vous pourriez répondre?


mais tout sa sa sert a koi? (la métode récursive?)
comment on modif ses anciens Messages ICI dans ce forum?
ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 2
2 juin 2004 à 22:46
mais tout sa sa sert a koi? (la métode récursive?)
comment on modif ses anciens Messages ICI dans ce forum?
ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 2
2 juin 2004 à 22:43
merci pour le code entier!!!!
RedFo1 Messages postés 73 Date d'inscription lundi 31 mai 2004 Statut Membre Dernière intervention 23 février 2007
2 juin 2004 à 18:01
ça marche ! merci :)
psyjc Messages postés 182 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 18 avril 2008
2 juin 2004 à 16:23
essai avec :
static $size = 0;

en 1ere ligne de la fonction (apres $h = opendir($dir);)
RedFo1 Messages postés 73 Date d'inscription lundi 31 mai 2004 Statut Membre Dernière intervention 23 février 2007
2 juin 2004 à 15:20
effectivement, j'avais pas pensé à ça... je corrige mon fichier alors :)
Par contre, j'ai un autre problème : j'ai un message d'avertissement : "Notice: Undefined variable: size in F:\SERVER\HTTP\php\espacerestant.php on line 20" (mais ça marche quand même, seulement, ça fait pas très joli ce message...)
Une idée pour s'en débarrasser ? (j'ai essayé de mettre
$size=0; avant la fonction et l'appel à la fonction, mais ça change rien)
psyjc Messages postés 182 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 18 avril 2008
1 juin 2004 à 19:06
voici le code complet!

<?php

$TotalSize = "104857600";
$UsedSize = RecursiveSize(".");
$spaceSize = $TotalSize - $UsedSize;

echo 'Espace total: '.round((($TotalSize/1024)/1024),2).'Mo
';
echo 'Espace utilisé: '.round((($UsedSize/1024)/1024),2).'Mo
';
echo 'Espace libre: '.round((($spaceSize/1024)/1024),2).'Mo
';

$taille=200; // par exemple - c'est la largeur voulue en pixel
echo '';
echo '';


/* int RecursiveSize(int dir); */
function RecursiveSize($dir){
$h = opendir($dir);
while(FALSE !($fp readdir($h))) {
$link = $dir.'/'.$fp;
if($fp != '.' && $fp != '..'){
if(is_dir($link)) $size+=RecursiveSize($link);
else $size+=filesize($link);
}
}
closedir($h);
return $size; // in bytes
}
?>


voilaaaa :)

(sous reserve d'erreurs de ma part! non testé)
ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 2
1 juin 2004 à 11:13
Dites je suis un D E B U T A N T ! ! !
Et j'y comprend rien!!!
Alors envoyer SVP le script entier avec les modifs appliquées!!!!
psyjc Messages postés 182 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 18 avril 2008
31 mai 2004 à 13:25
si on veux coder correctement il est preferable decrire while(FALSE !== ($fp = readdir($h)))

ou while(TRUE ($fp readdir($h)))

car on peut avoir par exemple un repertoir qui a comme nom "0" et qui sera compris comme false par la condition, il faut donc verifier aussi le type, cest pour cela que l'on met 3 =!

voir la doc php :
"Notez la façon dont la valeur de retour de dir() est vérifiée dans l'exemple suivant. Nous testons si la valeur est identique (égale et de même type que -- woyez opérateurs de comparaison pour plus de détails) FALSE sinon, toute entrée dans le nom serait évalué à FALSE causera l'arrêt de la boucle (exemple, un répertoire nommé 0). "

/* Ceci est la façon correcte de traverser un dossier. */
while (false !($file readdir($handle))) {
echo "$file\n";
}

/* Ceci est la MAUVAISE façon de traverser un dossier. */
while ($file = readdir($handle)) {
echo "$file\n";
}
RedFo1 Messages postés 73 Date d'inscription lundi 31 mai 2004 Statut Membre Dernière intervention 23 février 2007
31 mai 2004 à 13:23
zut, il y a une faute (désolé, je suis nouveau et je ne savais pas qu'on ne peut pas éditer ses messages) : c'est bien sûr
while($fp = readdir($h)) qu'il faut mettre :)
RedFo1 Messages postés 73 Date d'inscription lundi 31 mai 2004 Statut Membre Dernière intervention 23 février 2007
31 mai 2004 à 13:20
on peut remplacer
while(FALSE !($fp readdir($h))) par
while(($fp = readdir($h))
Et aussi pour la taille des barres, on peut se débrouiller pour qu'elle soit fixe pour toute taille de l'espace disponible :
$taille=200; // par exemple - c'est la largeur voulue en pixel
echo '';
echo '';
ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 2
31 mai 2004 à 12:10
hein sa sert à koi?
cs_iubito Messages postés 629 Date d'inscription mercredi 3 juillet 2002 Statut Membre Dernière intervention 9 octobre 2006
31 mai 2004 à 07:36
Sinon ta parse error, immortalPC, c'était ça :
$dir="" ## mets le chemin de ton espace web
RecursiveSize($dir);
il faut un ; à la fin de chaque instruction.
Et si tu fais un copier/coller tout bête ça marche pas
met $dir="."; ou $dir="tonrepertoire";
ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 2
29 mai 2004 à 00:28
Oki merci
psyjc Messages postés 182 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 18 avril 2008
28 mai 2004 à 23:25
oups!
a la ligne :
$UsedSize = RecursiveSize(substr(getcwd(),0 , -8));

remplacer par :

$UsedSize = RecursiveSize(".");


info :

. = repertoir courant! la fonction calcule lespace utilisé a partir de là
.. = repertoir parent! la fonction calcule a partir du repertoir parents a celui ou le script est executé!
sinon placer le chemin relatif ou absolut!
psyjc Messages postés 182 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 18 avril 2008
28 mai 2004 à 23:21
voici le code complet!

<?php

$TotalSize = "104857600";
$UsedSize = RecursiveSize(substr(getcwd(),0 , -8));
$spaceSize = $TotalSize - $UsedSize;



echo 'Espace total: '.round((($TotalSize/1024)/1024),2).'Mo
';
echo 'Espace utilisé: '.round((($UsedSize/1024)/1024),2).'Mo
';
echo 'Espace libre: '.round((($spaceSize/1024)/1024),2).'Mo
';

$x = 3;
echo "
\n";
echo '';
echo '';


/* int RecursiveSize(int dir); */
function RecursiveSize($dir){
$h = opendir($dir);
while(FALSE !($fp readdir($h))) {
$link = $dir.'/'.$fp;
if($fp != '.' && $fp != '..'){
if(is_dir($link)) $size+=RecursiveSize($link);
else $size+=filesize($link);
}
}
closedir($h);
return $size; // in bytes
}
?>
ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 2
28 mai 2004 à 21:41
Re salut,
excuse moi mais j'y connait vraimmmmmmeeeennnnt rien au PHP
sa me met

Parse error: parse error in /var/www/free.fr/d/8/www.immortalpc/Espacelibre/freespace.php on line 17


et voici le script

<HTML>
<HEAD>
<TITLE> Freespace !!! </TITLE>
</HEAD>


<?php

// Capacité de votre compte, ici c'est 100 Mo (100*1024*1024)
$quota= "104857600";

// Facteur de multiplication pour l'image, pour faire une image plus ou moins longue
$facteur=5;

// si vous êtes dans un répertoire, il faut mettre "../." et aisi de suite...
$dir="" ## mets le chemin de ton espace web
RecursiveSize($dir);

function RecursiveSize($dir){
$h = opendir($dir);
while(FALSE !($fp readdir($h))) {
$link = $dir.'/'.$fp;
if($fp != '.' && $fp != '..'){
if(is_dir($link)) $size+=RecursiveSize($link);
else $size+=filesize($link);
}
}
closedir($h);
return $size; // in bytes
}

$sizem = (int) (($size/1024)/1024);

// Calcul de l'espace disponible sur le compte
$freeB=$quota-$size;

$quota2 = round((($quota/1024)/1024),2);
$size2 = round((($size/1024)/1024),2);
$freeB2 = round((($freeB/1024)/1024),2);

echo "
ETAT DU COMPTE

";
echo "Espace total: $quota octets ($quota2 Mo)
"; // Affichage de l'espace Total ($quota)
echo "Espace utilisé : $size octets ($size2 Mo)
"; // Affichage de l'espace utilisé
echo "Espace libre: $freeB octets ($freeB2 Mo)

"; // Affichage de l'espace restant

// On prend les valeurs entières pour donner la taille des images
$freeB3 = (int) ((($freeB/1024)/1024)*$facteur);
$size3 = (int) ((($size/1024)/1024)*$facteur);

// Et une petite image pour faire joli !
echo "<CENTER>";
echo "</CENTER>";
?>


</HTML>

@+
Et excuse moi de te déranger.
Guillaume
yann361 Messages postés 1 Date d'inscription jeudi 27 mai 2004 Statut Membre Dernière intervention 28 mai 2004
28 mai 2004 à 21:07
c'est normal tu n'a pas définie de fonction dirsize la seul que je voi de définie c'est RecursiveSize donc si tu appelle une fonction non-définie sa marche pas
remplace:
$size=dirsize("../", 0);
par :
$dir="" ## mets le chemin de ton espace web
RecursiveSize($dir);
voila j'espère t'avoir aidé ++
ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 2
28 mai 2004 à 18:09
et sa me met

Fatal error: Call to undefined function: dirsize() in /var/www/free.fr/d/8/www.immortalpc/Espacelibre/freespace.php on line 16
ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 2
28 mai 2004 à 17:32
resalut,
j'y arrive pas ,samarche pas

voila comment c'est


<HTML>
<HEAD>
<TITLE> Freespace !!! </TITLE>
</HEAD>


<?php

// Capacité de votre compte, ici c'est 100 Mo (100*1024*1024)
$quota= "104857600";

// Facteur de multiplication pour l'image, pour faire une image plus ou moins longue
$facteur=5;

// si vous êtes dans un répertoire, il faut mettre "../." et aisi de suite...
$size=dirsize("../", 0);

function RecursiveSize($dir){
$h = opendir($dir);
while(FALSE !($fp readdir($h))) {
$link = $dir.'/'.$fp;
if($fp != '.' && $fp != '..'){
if(is_dir($link)) $size+=RecursiveSize($link);
else $size+=filesize($link);
}
}
closedir($h);
return $size; // in bytes
}

$sizem = (int) (($size/1024)/1024);

// Calcul de l'espace disponible sur le compte
$freeB=$quota-$size;

$quota2 = round((($quota/1024)/1024),2);
$size2 = round((($size/1024)/1024),2);
$freeB2 = round((($freeB/1024)/1024),2);

echo "
ETAT DU COMPTE

";
echo "Espace total: $quota octets ($quota2 Mo)
"; // Affichage de l'espace Total ($quota)
echo "Espace utilisé : $size octets ($size2 Mo)
"; // Affichage de l'espace utilisé
echo "Espace libre: $freeB octets ($freeB2 Mo)

"; // Affichage de l'espace restant

// On prend les valeurs entières pour donner la taille des images
$freeB3 = (int) ((($freeB/1024)/1024)*$facteur);
$size3 = (int) ((($size/1024)/1024)*$facteur);

// Et une petite image pour faire joli !
echo "<CENTER>";
echo "</CENTER>";
?>


</HTML>
tazmania37 Messages postés 46 Date d'inscription mercredi 29 octobre 2003 Statut Membre Dernière intervention 10 novembre 2009
28 mai 2004 à 16:53
Ben rien de plus simple, il faut remplacer la fonction dirsize par RecusiveSize.

ça donne ça :

$size=RecursiveSize(".");

function RecursiveSize($dir){
$h = opendir($dir);
while(FALSE !($fp readdir($h))) {
$link = $dir.'/'.$fp;
if($fp != '.' && $fp != '..'){
if(is_dir($link)) $size+=RecursiveSize($link);
else $size+=filesize($link);
}
}
closedir($h);
return $size; // in bytes
}

Allez courage, t'y es presque !
ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 2
28 mai 2004 à 16:30
dit les gars je suis un débutant et ou doit on mettre


function RecursiveSize($dir){
$h = opendir($dir);
while(FALSE !($fp readdir($h))) {
$link = $dir.'/'.$fp;
if($fp != '.' && $fp != '..'){
if(is_dir($link)) $size+=RecursiveSize($link);
else $size+=filesize($link);
}
}
closedir($h);
return $size; // in bytes
}

?
alors?
Merci
@+
Guillaume
tazmania37 Messages postés 46 Date d'inscription mercredi 29 octobre 2003 Statut Membre Dernière intervention 10 novembre 2009
27 mai 2004 à 23:23
Chapeau !
C'est clair que comme ça elle fonctionnera partout !

Merci
++
psyjc Messages postés 182 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 18 avril 2008
27 mai 2004 à 22:44
jai repris ta source, et je l'ai un peu arrangé pour quelle fonctionne de maniere recursive!

function RecursiveSize($dir){
$h = opendir($dir);
while(FALSE !($fp readdir($h))) {
$link = $dir.'/'.$fp;
if($fp != '.' && $fp != '..'){
if(is_dir($link)) $size+=RecursiveSize($link);
else $size+=filesize($link);
}
}
closedir($h);
return $size; // in bytes
}
eax Messages postés 728 Date d'inscription jeudi 20 juin 2002 Statut Membre Dernière intervention 7 novembre 2007 2
27 mai 2004 à 16:56
lol
tazmania37 Messages postés 46 Date d'inscription mercredi 29 octobre 2003 Statut Membre Dernière intervention 10 novembre 2009
27 mai 2004 à 16:05
il manque un point virgule à la ligne : $facteur=5;
C'est pas une grosse faute mais ça peux aider pour les débutants !
Rejoignez-nous