Quand le champs $_FILES n'est pas remplie

Eléphanteau du PHP | 24 Messages

08 févr. 2007, 12:54

Bonjour,

Je suis en train de créer un formulaire pour enregsitrer les informations d'une bannière dans une base de donnée. Pour l'image, je donne le choix entre une URL ou uploader le fichier.
J'ai donc un formulaire avec un champs texte et un autre files. J'ai placé un code javascript pour que l'un ou l'autre soit remplie

Quand je valide le formulaire avec une URL, donc pas de fichier à uploader, le script le fait quand même alors que j'ai placé le script entre la condition

Code : Tout sélectionner

if(isset($_FILES['ban_fichier']))
J'ai l'impression que même si le champs files n'est pas remplie, il indique quand même des infos au script.

Merci d'avance pour votre réponse.

Cordialement
Guillaume

ViPHP
ViPHP | 2144 Messages

08 févr. 2007, 12:59

la variable $_FILES['ban_fichier'] est en elle-même un tableau qui contient différentes informations sur le fichier uploadé (par ex, si l'internaute n'a pas sélectionné de fichier). Ce tableau existe même si le fichier n'a pas été uploadé. Tu peux notammet y récupérer la taille du fichier, si elle est égale à 0, pas de fichier reçu.

un petit
print_r($_FILES['ban_fichier']);
te montrera tout ce que tu peux récupérer comme information sur l'upload.

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

08 févr. 2007, 13:27

Utilise plutôt le test empty()
http://fr3.php.net/empty
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Eléphanteau du PHP | 24 Messages

08 févr. 2007, 14:29

Merci pour vos réponses. Comme tu m'as dis iclo, j'ai mis une condition par rapport au poid du fichier, et ca marche.

A+
Guillaule