[PHP] Limiter taille d'un dossier
Fermé
cacahuete586
Messages postés
2
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
18 mars 2007
-
18 mars 2007 à 11:51
jobo83.com - 29 juin 2007 à 09:11
jobo83.com - 29 juin 2007 à 09:11
A voir également:
- [PHP] Limiter taille d'un dossier
- Comment réduire la taille d'un fichier - Guide
- Dossier appdata - Guide
- Afficher taille dossier windows - Guide
- Mettre un mot de passe sur un dossier - Guide
- Impossible de supprimer un dossier - Guide
1 réponse
Donc, pour faire court, si tu as déjà réussi à calculer la taille du dossier, il te suffit d'en créer une variable (par exemple $taille_dir)
et de soumettre l'affichage du champs d'upload à une condition:
CODE:
Voilà, en espérant t'avoir aidé, et si tu souhaite la fonction complète, contacte moi par mail, je la rédigerais.
jobo83
et de soumettre l'affichage du champs d'upload à une condition:
CODE:
if ($taille_dir > $taille_limite) { echo"Vos possibilités de télechargement sont épuisées!<br> Vous occupez actuellement ".$taille_dir." Mo, la taille maximale étant de ".$taille_limite." Mo, nous vous conseillons de libérer de l'espace afin de pouvoir à nouveau envoyer vos images.<br> Le webmaster" } else { <input type='file' name='userfile'> }
Voilà, en espérant t'avoir aidé, et si tu souhaite la fonction complète, contacte moi par mail, je la rédigerais.
jobo83
28 juin 2007 à 23:06
je cherche egalement à limiter un répertoire à 100 mo sauf que moi je ne sais pas par ou commencer je ne sais pas comment calculer la taille du répertoire et encore moi en bloquer l'update si le quota est dépassé
si quelqu'un pouvez m'aider je lui en serais trés reconnaissant
29 juin 2007 à 09:11
Voici donc la fonction complète, à toi ensuite de l'integrer à ton formulaire, mais cela devrait être assez simple:
<?
function spaceDir($adr=".") {
static $size;
$dp=opendir($adr);
do {
$itm=readdir($dp);
if (is_dir("$adr/$itm") && ($itm!=".") && ($itm!="..") && ($itm!="")) {
spaceDir("$adr/$itm");
}
elseif (($itm!=".") && ($itm!="..") && ($itm!="")) {
$size = $size + filesize("$adr/$itm");
}
}
while ($itm != false);
closedir($dp);
return round($size / (1024*1024),2);
}
$taille_dir = spaceDir();//Taille de repertoire courant en MO
//$taille_dir = spaceDir("../../dossier_X");//Taille d'un repertoire distant en MO
$taille_limite = 100;//Taille limite fixée en Mo (ici 100 Mo, il suffit de remplacer par la valeur de ton choix)
if ($taille_dir > $taille_limite)
{
echo"Vos possibilités de télechargement sont épuisées!<br>
Vous occupez actuellement ".$taille_dir." Mo!<br>
La taille maximale étant de ".$taille_limite." Mo, nous vous conseillons de libérer de l'espace afin de pouvoir à nouveau envoyer vos images.<br>
Le webmaster";
}
else //Autrement on autorise l'affichage du champ d'upload
{
echo"<form><input type='file' name='userfile'><input type=submit name=submit value=Valider></form>";
}
?>
Voilà, pour plus d'infos, tu peux me contacter par le biais de mon site:
http://www.jobo83.com
@+