Page 1 sur 1

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

Posté : 19 juin 2007, 17:52
par krusty
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 :?

Posté : 19 juin 2007, 19:15
par Cyrano
"k" = "kilo" (du grec) = 1000 et en informatique, "k" = 1024 => 1ko = 1024o... donc... :?:

Posté : 19 juin 2007, 20:37
par Invité
merci cest deja un point plus clair par contre je ne vois pas comment faire pour mettre une taille limite

Posté : 19 juin 2007, 22:31
par Cyrano
ben pourtant : 300Ko, ça fait combien d'octets selon toi ? :-k

Posté : 19 juin 2007, 23:25
par Invité
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: :?:

Posté : 20 juin 2007, 06:31
par Cyrano
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.

Posté : 20 juin 2007, 10:26
par Invité
oui mais justement si je demande de l'aide cest que je narrive pas à faire cette condition avec les parametres taille

Posté : 20 juin 2007, 10:49
par Cyrano
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
}

Posté : 20 juin 2007, 10:51
par Ryle
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

Posté : 20 juin 2007, 16:23
par Invité
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 :?