PHP vérifier si un fichier est vide

Résolu
WirelessStigma Messages postés 53 Statut Membre -  
chico200987 Messages postés 856 Statut Membre -
Bonjour,

J'essaye de récupérer un fichier joint dans un formulaire.
S'il existe, je voudrais remplir une table de ma base de données avec un identifiant auto-incrémenté et le dit fichier joint.
Mais je n'y arrive pas.

Voici mes lignes de code :

$annexe=$_FILES['annexe'];

if (file_exists($annexe))
{
$query="INSERT INTO ANNEXE_TECHNIQUE VALUES (SEQID.nextvaL, '$annexe')";
}

Et voici l'erreur qui m'est signalée :

Warning: file_exists() expects parameter 1 to be string, array given in C:\wamp\www\Site DT\envoi_bdd.php on line 85

Merci par avance

2 réponses

  1. chico200987 Messages postés 856 Statut Membre 144
     
    Salut,

    Si tu regardes ici : https://www.php.net/manual/fr/function.file-exists.php

    Tu peux voir que la fonction file_exists() prends comme paramètre un string.

    Ce string est le chemin vers le fichier or, $annexe est un tableau.

    Pour savoir s'il est vide, tu pourrais essayer cette condition :

    if (isset($annexe)) 
      [...] 
    


    Edit : Regarde plutôt du cote de la solution de Defouille car effectivement, tu récupères mal ton fichier.
    0
    1. WirelessStigma Messages postés 53 Statut Membre
       
      ça marche !

      merci chico !
      0
    2. chico200987 Messages postés 856 Statut Membre 144
       
      Ah, beh derien !

      Jète quand même un oeil sur la solution de Defouille si tu as besoin de le stocker en local ton fichier ;)
      0
  2. Defouille Messages postés 404 Statut Membre 54
     
    Bonjour,

    ta méthode pour récupérer "$annexe" est la mauvaise.

    jette un coup d'oeil à ce lien, i t'explique les différents champs du tableau $_FILES :
    http://perso.univ-rennes1.fr/pascal.aubry/doc/php_variables/_files.php

    A mon avis du devrais appeler la fonction "move_uploaded_file" de php pour enregistrer ton fichier la ou tu veux :
    http://fr.php.net/manual/fr/function.move-uploaded-file.php

    Au final ça te donnerait quelque chose du style :
    $annexe = "/chemin/vers/ton/fichier/sauvegarder";
    move_uploaded_file($_FILES['annexe']['tmp_name'], $annexe);


    Si tu as des questions n'hésite pas.
    0