IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Test si input file rempli


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de Alvaten
    Homme Profil pro
    Développeur Java / Grails
    Inscrit en
    Novembre 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Java / Grails
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 324
    Par défaut Test si input file rempli
    Bonjour a tous.

    J'ai un formulaire d'upload qui permet de mettre à jour des fichiers sur mon serveur et je voudrais savoir comment déterminer si l'utilisateur à choisit un fichier dans le champ file ou non.
    J'ai besoin de cette info pour:
    1. Uploader le fichier si oui et mettre à jour les infos sur le fichier dans ma BDD
    2. Juste mettre à jour les infos sur le fichier dans ma BDD si non.


    Mon forumlaire (extrait):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <form method="post" action="?page=documents/gestiondocument&file=<?php echo $_GET['file'] ?>" enctype="multipart/form-data" name="ajout">
    <input type="file" name="fichier" size="30">
    </form>
    Ce que j'ai testé mais qui ne fonctionne pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if (isset($_FILES['fichier']))
     
    if (isset($_POST['fichier']))
     
    if (!empty($_FILES['fichier']))
     
    if (!empty($_POST['fichier']))
    Avez vous une piste pour moi svp ?

  2. #2
    Membre expérimenté
    Inscrit en
    Juillet 2007
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 201
    Par défaut
    Montre plus ton code.. Comment recupères tu ton fichier?.......Comment le declares tu?

  3. #3
    Membre éprouvé Avatar de Alvaten
    Homme Profil pro
    Développeur Java / Grails
    Inscrit en
    Novembre 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Java / Grails
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 324
    Par défaut
    Je ne pense pas que mon code pourait t'aider à voir mon prioblème mais le voilà quand même.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $extensionsvalides = array('jpg', 'jpeg', 'gif', 'png', 'doc', 'xls', 'ppt', 'pps', 'pdf' );
    $extensionfichier = substr(  strrchr($_FILES['fichier']['name'], '.')  ,1);
    $nom = date('Ymd').'_'.date('Gis').'.'.$extensionfichier;
    $nomext =  $config->get('DocumentsPath').str_replace(' ','',$nom);
    $resultat = move_uploaded_file($_FILES['fichier']['tmp_name'],$nomext);
    Ce code fonctionne très bien, je veut juste tester si l'utilisateur à choisit un fichier dans le "input file" ou pas.

  4. #4
    Membre expérimenté
    Inscrit en
    Juillet 2007
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 201
    Par défaut
    Lorsqu'il submit le form tu fais ceci:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if ($_FILES['nomdetonchamp']['tmp_name']==""){
     echo " vous n'avez pas choisit de fichier";
    else{
    blabla;
    }

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Un code d'erreur est prévu pour identifier cette situation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if ($_FILES['fichier']['error'] == UPLOAD_ERR_NO_FILE) {
        echo 'Aucun fichier';
    } else {
        echo 'Fichier envoyé'; // Il faudra tout de même contrôler ce qui vous est envoyé
    }
    Mais les autres champs du tableau (FILES) sont vides ou à la valeur nulle (ce que souligne acirfa).

  6. #6
    Membre éprouvé Avatar de Alvaten
    Homme Profil pro
    Développeur Java / Grails
    Inscrit en
    Novembre 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Java / Grails
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 324
    Par défaut
    Merci beaucoup à tous les deux pour votre aide. La solution de Julp me parait mieux, c'est donc celle là que j'ai choisi.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récuperer taille d'un fichier dans un input file
    Par iclo dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 17/04/2008, 11h17
  2. récupérer la valeur d'un input file
    Par july dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 26/11/2007, 11h17
  3. Input File multiples
    Par odelayen dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 21/02/2005, 14h46
  4. Valeur par default dans un input file ?
    Par alainme dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 11/02/2005, 14h31
  5. Input File, Request.form Firefox, Chemin non spécifié
    Par Phenolphtaleine dans le forum ASP
    Réponses: 6
    Dernier message: 13/01/2005, 09h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo