Impossible de lire $_FILES
Résolu
Kopros
Messages postés
595
Date d'inscription
Statut
Membre
Dernière intervention
-
Kopros Messages postés 595 Date d'inscription Statut Membre Dernière intervention -
Kopros Messages postés 595 Date d'inscription Statut Membre Dernière intervention -
Salut à tous
En php, je ne parviens pas à lire $_FILES pour uploader un fichier.
Voici mon code :
Page HTML :
Page php (action.php) :
Au lieu de m'afficher le contenu de l'array avec toutes les infos sur le fichier, la page action.php affiche "Array" et c'est tout. Du coup je peux encore moins uploader un fichier
J'ai vérifié le php.ini de mon server, file_uploads = On et j'accepte des fichiers assez gros (jusqu'a 20M). P'tet que y'a un paramètre que j'ai pas pensé qui empêche l'upload, mais ça m'étonnerait parce que j'ai un autre site sur le même serveur et l'input file upload nickel sur cet autre site.
Je vois pas ce qui cloche, et ça fait quelques heures que je m'arrache les cheveux avec cette histoire... Ca m'aiderait franchement que quelqu'un trouve une piste ou un début de solution (je ne crache pas non plus sur une solution toute faite ^^)
Merci d'avance
En php, je ne parviens pas à lire $_FILES pour uploader un fichier.
Voici mon code :
Page HTML :
<form action="action.php" method="post" enctype="multipart/form-data"> <input type="hidden" name="MAX_FILE_SIZE" value="2097152"> <input type="file" name="testfile" /> <input type="submit" value="tester" /> </form>
Page php (action.php) :
<?php echo $_FILES; ?>
Au lieu de m'afficher le contenu de l'array avec toutes les infos sur le fichier, la page action.php affiche "Array" et c'est tout. Du coup je peux encore moins uploader un fichier
J'ai vérifié le php.ini de mon server, file_uploads = On et j'accepte des fichiers assez gros (jusqu'a 20M). P'tet que y'a un paramètre que j'ai pas pensé qui empêche l'upload, mais ça m'étonnerait parce que j'ai un autre site sur le même serveur et l'input file upload nickel sur cet autre site.
Je vois pas ce qui cloche, et ça fait quelques heures que je m'arrache les cheveux avec cette histoire... Ca m'aiderait franchement que quelqu'un trouve une piste ou un début de solution (je ne crache pas non plus sur une solution toute faite ^^)
Merci d'avance
A voir également:
- Impossible de lire $_FILES
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Lire epub - Guide
- Lire fichier bin - Guide
- Comment lire un message supprimé sur whatsapp - Guide
- Lire iso - Guide
2 réponses
Je viens d'essayer et ça marche, l'array s'affiche bien. Je ne connaissais pas var_dump, merci !
Pour récupérer l'image, j'ai utilisé basename et move_uploaded_file, mais là ça ne marche pas...
$uploadfile et $tmpname contiennent les bonnes valeurs, mais le résultat est toujours "Impossible de télécharger l'image". J'ai vérifié les droits sur le répertoire ça ne vient pas de là.
L'erreur doit venir d'un truc que j'ai oublié de spécifier mais je ne vois vraiment pas...
EDIT : c'est bon j'ai trouvé, en fait faut pas mettre le basename pour tmp_file et ça marche... je croyais que c'est ce que j'avais fait en premier mais je devais alors avoir une autre erreur qui empechait l'upload.
En tout cas merci à Construct de t'être penché un peu sur mon problème :)
Donc dans mon code, j'ai remplacé :
par :
Pour récupérer l'image, j'ai utilisé basename et move_uploaded_file, mais là ça ne marche pas...
$uploaddir=dirname(__FILE__).'/test/'; $tmpname=basename($_FILES['image_local']['tmp_name']); $uploadfile = $uploaddir . basename($_FILES['image_local']['name']); echo $uploadfile.'<br />'; echo $tmpname.'<br />'; if (move_uploaded_file($tmpname, $uploadfile)) { echo 'ok'; } else { echo "Impossible de télécharger l'image"; }
$uploadfile et $tmpname contiennent les bonnes valeurs, mais le résultat est toujours "Impossible de télécharger l'image". J'ai vérifié les droits sur le répertoire ça ne vient pas de là.
L'erreur doit venir d'un truc que j'ai oublié de spécifier mais je ne vois vraiment pas...
EDIT : c'est bon j'ai trouvé, en fait faut pas mettre le basename pour tmp_file et ça marche... je croyais que c'est ce que j'avais fait en premier mais je devais alors avoir une autre erreur qui empechait l'upload.
En tout cas merci à Construct de t'être penché un peu sur mon problème :)
Donc dans mon code, j'ai remplacé :
$tmpname=basename($_FILES['image_local']['tmp_name']);
par :
$tmpname=$_FILES['image_local']['tmp_name'];