verifier le poids d'une image lors d'un upload

krusty
Invité n'ayant pas de compte PHPfrance

19 juin 2007, 17:52

Bonjour jai fait un script dupolad dimage, jai tout géré lextension, miniature etc mais je voudrais gerer aussi le poids de limage que limage que le visiteur veut charger sur mon ftp free ne depasse pas 300KO , jai passé mon aprem à chercher et je ne comprends rien

Ds ma page de formulaire jai bien mis concernant dc la taille :
<input type="hidden" name="MAX_FILE_SIZE" value="102400" />	
et ensuite ds ma page de telechargement insertion ds la base
jai recuperé cette valeur par
$size=$_FILES['image']['size'];
Que dois je faire ensuite, en plus je ne comprends pas cette histoire de ko et octets

merci de maider :?

Mammouth du PHP | 19672 Messages

19 juin 2007, 19:15

"k" = "kilo" (du grec) = 1000 et en informatique, "k" = 1024 => 1ko = 1024o... donc... :?:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

19 juin 2007, 20:37

merci cest deja un point plus clair par contre je ne vois pas comment faire pour mettre une taille limite

Mammouth du PHP | 19672 Messages

19 juin 2007, 22:31

ben pourtant : 300Ko, ça fait combien d'octets selon toi ? :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

19 juin 2007, 23:25

Je tai dit que je ne savais pas comment faire pour lui mettre un poids limite, cest bien beau de savoir ce que fait 300km mais ensuite :roll: :?:

Mammouth du PHP | 19672 Messages

20 juin 2007, 06:31

Sois logique : si tu veux limiter à 300Ko, tu définis si le fichier fait 300 * 1024 et si c'est le cas, tu affiches un message, sinon, tu continue l'enregistrement. Puisque tu arrives à récupérer le poids, la suite devrait être assez simple.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

20 juin 2007, 10:26

oui mais justement si je demande de l'aide cest que je narrive pas à faire cette condition avec les parametres taille

Mammouth du PHP | 19672 Messages

20 juin 2007, 10:49

if($_FILES['fichier']['size'] > (300 * 1024))
{
    // là tu fais par exemple une redirection; avec par exemple header();
}
else
{
    // Le poids est correct, tu continues la validation
}
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

20 juin 2007, 10:51

Il existe en php, comme dans tout les langages, des structures conditionnelles. Elles te permettent de tester une expression et d'effectuer un traitement spécifique en fonction du résultat :
if ($toto < 123) { // si le test est vrai et que la valeur contenue dans $toto est inférieure à 123
  ... // alors ce code sera exécuté
}
else { // éventuellement, un traitement si la condition n'est pas restpectée
  ...
}
Il te suffit donc de définir dans le if la (ou les) condition(s) qui feront que ton code sera ou non appellé

Voir les Structures de contrôle
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Invité
Invité n'ayant pas de compte PHPfrance

20 juin 2007, 16:23

if($_FILES['fichier']['size'] > (300 * 1024))
{
    // là tu fais par exemple une redirection; avec par exemple header();
}
else
{
    // Le poids est correct, tu continues la validation
}
merci car je ny arrivais vraiment pas avec cette taille; jai mis ce code tel quel mais allez comprendre il continue dinserer des fichiers qui font jusqu'à 600KO puis à partir de 600KO il ne les prends plus, si quelqu'un a une idée :?