Php recuperer post input file
Résolu
canardwifi
-
jambondardennes Messages postés 492 Statut Membre -
jambondardennes Messages postés 492 Statut Membre -
Bonjour,
j ai dans mon script php un champ input file pour joindre un fichier que je souhaite insérer dans ma base de données
il s'agit de fichier image
<form enctype="multipart/form-data" action="import.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="60000" />
Image : <input name="file_send" type="file" />
<input type="submit" value="Envoyer" />
</form>
1) quel doit être la structure de mon champ upload_image (char , ...) dans ma table
2) comment récupérer le POST "file_send"
je sais que pour un valeur texte c'est du genre if(isset($_POST['nom'])) ... la je ne vois pas
Merci de votre aide
j ai dans mon script php un champ input file pour joindre un fichier que je souhaite insérer dans ma base de données
il s'agit de fichier image
<form enctype="multipart/form-data" action="import.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="60000" />
Image : <input name="file_send" type="file" />
<input type="submit" value="Envoyer" />
</form>
1) quel doit être la structure de mon champ upload_image (char , ...) dans ma table
2) comment récupérer le POST "file_send"
je sais que pour un valeur texte c'est du genre if(isset($_POST['nom'])) ... la je ne vois pas
Merci de votre aide
Configuration: Windows Vista Firefox 3.0.11
16 réponses
-
Problème résolu !!! et ça venait de mon input le type et le name avait la même valeur "file" j'ai modifié ça et ça fonctionne.
Merci a tous et en particulier à jambondardennes pour ses efforts -
Pour récupérer des fichier uploadés, il faut utiliser $_FILES.
Petite explication ici:
http://www.commentcamarche.net/faq/sujet 889 php upload de fichiers -
Merci pour la réponse j ai utilisé ce script mais il me bloque au nivau des extensions même les bonnes je ne comprends pas merci
le message d'erreur :
Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...
Le script :
$dossier = 'upload/';
$fichier = basename($_FILES['file']['name']);
$taille_maxi = 100000;
$taille = filesize($_FILES['file']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['file']['name'], '.');
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
$erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
}
if($taille>$taille_maxi)
{
$erreur = 'Le fichier est trop gros...';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
//On formate le nom du fichier ici...
$fichier = strtr($fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
if(move_uploaded_file($_FILES['file']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
{
echo 'Upload effectué avec succès !';
}
else //Sinon (la fonction renvoie FALSE).
{
echo 'Echec de l\'upload !';
}
}
else
{
echo $erreur;
}
?> -
S'il te bloque c'est à cette ligne surement :
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
Vérifies que le fichier en question porte les extensions suivantes : .png, .gif, .jpg ou .jpeg
Si tu as besoin d'accepter d'autres extensions il te suffit de les rajouter dans la liste :
$extensions = array('.png', '.gif', '.jpg', '.jpeg', '.nouvelleextension'); -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Cette partie du code fonctionne très bien. As tu pensé à vérifier la casse de l'extension car si ton fichier s'apelle .JPG ça ne fonctionne pas...
-
le fichier que j essaye d ajouter est un .jpg j ai esaye avec d'autre extensions autorisés mais pareil...
-
-
Enlèves les points dans la ligne des extensions acceptées voir
-
-
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
Modifies cette ligne et fais :
if ($extension==".jpg") -
-
fais un simple echo sur $extension voir ce qu'il affiche.
-
l'echec de l'upload doit venir du fait que soit tu n'as pas de dossier upload pour qu'il mette le fichier dedans, soit que le dossier upload n'est pas à l'endroit que tu indiques.
-
quand je mets un echo devant extension voila le resultat
ArrayVous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...
merci de votre aide -
Donc le problème vient du tableau vu que tu as array.
Au lieu de $extension = strrchr($_FILES['file']['name'], '.');
essaies $extension[] = strrchr($_FILES['file']['name'], '.'); -
oufffff ! HAHAHA comme quoi je suis pas le seul à devoir farfouiller mes codes ;)