PHP vérifier si un fichier est vide [Résolu/Fermé]

Signaler
Messages postés
46
Date d'inscription
mardi 6 avril 2010
Statut
Membre
Dernière intervention
15 décembre 2010
-
Messages postés
791
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
30 juillet 2018
-
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

Messages postés
791
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
30 juillet 2018
142
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.
Messages postés
46
Date d'inscription
mardi 6 avril 2010
Statut
Membre
Dernière intervention
15 décembre 2010

ça marche !

merci chico !
Messages postés
791
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
30 juillet 2018
142
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 ;)
Messages postés
388
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
15 novembre 2011
53
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.