Bonjour,

J'ai créé un outil d'administration permettant notamment d'uploader des fichiers. Ce champ n'est pas obligatoire et je souhaite qu'à la modification d'une réalisation, si l'input file (multiple) est vide, il ne fasse rien, s'il n'est pas vide, qu'il uploade les nouvelles photos et les insère en base de données.
J'ai tout essayé :

if(!empty($_FILES'file]']){

if(!empty($_FILES'file']){

J'ai également testé avec l'erreur 4, les champs size, tmp_name, name...
Dans tous les cas, il m'affiche le même résultat si le champ est vide ou rempli.

Ça me semble tellement évident, et pourtant je bloque.

Merci d'avance pour vos réponses :)

4 réponses


Glaived
Réponse acceptée

Pour vérifier qu'il n'y a aucun fichier sélectionner, et donc aucun téléchargement effectué [code]if(isset($_FILES['error']) && $_FILES['error'] === 4) echo 'Aucuns fichier select';[/code] [url= http://adf.ly/pjdFt]Explication sur les messages d'erreurs de chargement de fichiers[/url]

Si je ne me trompe pas du dois avoir quelque part la taille du fichier

<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="utf-8">
    <title>Titre</title>
</head>
<body>
    <?php
    var_dump( $_FILES ); //
    echo isset($_FILES'error']) && $_FILES'error'] === 0 ? 'Good' : 'Problem';
    ?>
    <hr />
    <form action="" method="POST" enctype="multipart/form-data">
        <input type="file" name="file" />
        <input type="submit" />
    </form>
</body>
</html>

le

enctype="multipart/form-data"

est requis

-Alexx-
Auteur

Merci de vos réponses.

J'ai bien renseigné l'enctype.
Je n'ai en fait aucun souci pour uploader les fichiers via mon input file multiple. Le souci que j'ai concerne l'action en fonction de si l'utilisateur a chargé des fichiers ou non.
Je fais les conditions (admettons, je reprends la condition de Glaived) :

if($_FILES'error']) && $_FILES'error'] === 0){
    echo "Pas vide";
}else{
    echo "vide";
}

Il me met la même réponse, que le formulaire soit validé avec le champ "file" vide ou rempli.
Donc c'est au niveau de la condition que je bloque...