Uploader un fichier en php
Résolu/Fermé
mjimer
Messages postés
24
Date d'inscription
mercredi 30 mai 2012
Statut
Membre
Dernière intervention
17 juin 2012
-
30 mai 2012 à 22:29
mjimer Messages postés 24 Date d'inscription mercredi 30 mai 2012 Statut Membre Dernière intervention 17 juin 2012 - 9 juin 2012 à 09:57
mjimer Messages postés 24 Date d'inscription mercredi 30 mai 2012 Statut Membre Dernière intervention 17 juin 2012 - 9 juin 2012 à 09:57
A voir également:
- Uploader un fichier en php
- Fichier bin - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
23 réponses
Utilisateur anonyme
Modifié par le père. le 30/05/2012 à 23:44
Modifié par le père. le 30/05/2012 à 23:44
Bonjour
Tu as limité la taille du téléchargement à 100k, es-tu bien sûr de ne pas essayer de fichier plus gros ?
As-tu essayé d'afficher le code d'erreur $_FILES['fichier']['error'] ?
Tu as limité la taille du téléchargement à 100k, es-tu bien sûr de ne pas essayer de fichier plus gros ?
As-tu essayé d'afficher le code d'erreur $_FILES['fichier']['error'] ?
mjimer
Messages postés
24
Date d'inscription
mercredi 30 mai 2012
Statut
Membre
Dernière intervention
17 juin 2012
Modifié par mjimer le 31/05/2012 à 19:46
Modifié par mjimer le 31/05/2012 à 19:46
Bonsoir ,
toujours même problème j'ai changée mon code en cela :
<?php
$id_connex=mysql_connect("localhost","root","") or die("Connexion impossible");
mysql_query("use ONDA");
$content_dir = 'C:\wamp\www\ONDA\communication-QT1\.';
$tmp_file = $_FILES['fichier']['tmp_name'];
$test=$_FILES['fichier']['name'];
if( !is_uploaded_file($tmp_file) )
{
echo ($_FILES['fichier']['error'] );
exit ("Le fichier est introuvable" );
}
$name_file = $_FILES['fichier']['name'];
if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
{
exit("Impossible de copier le fichier dans $content_dir");
}
echo "Le fichier a bien été uploadé";
echo "<pre>";
print_r($_FILES);
echo "</pre>"
?>
et Pour l'html j'ai enlevée le value= mais sans résultat
il ne m'affiche pas le code d'erreur même si j'ai ajoutée l'echo !!
toujours même problème j'ai changée mon code en cela :
<?php
$id_connex=mysql_connect("localhost","root","") or die("Connexion impossible");
mysql_query("use ONDA");
$content_dir = 'C:\wamp\www\ONDA\communication-QT1\.';
$tmp_file = $_FILES['fichier']['tmp_name'];
$test=$_FILES['fichier']['name'];
if( !is_uploaded_file($tmp_file) )
{
echo ($_FILES['fichier']['error'] );
exit ("Le fichier est introuvable" );
}
$name_file = $_FILES['fichier']['name'];
if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
{
exit("Impossible de copier le fichier dans $content_dir");
}
echo "Le fichier a bien été uploadé";
echo "<pre>";
print_r($_FILES);
echo "</pre>"
?>
et Pour l'html j'ai enlevée le value= mais sans résultat
il ne m'affiche pas le code d'erreur même si j'ai ajoutée l'echo !!
Utilisateur anonyme
31 mai 2012 à 20:52
31 mai 2012 à 20:52
Ça affiche "Le fichier est introuvable" sans afficher de code d'erreur ? C'est peut-être simplement que $_FILES['fichier'] n'est pas défini.
Ajoute
Ajoute
var_dump($_FILES);au début de ton script
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
1 juin 2012 à 09:42
1 juin 2012 à 09:42
que fait ce point à la fin de :$content_dir = 'C:\wamp\www\ONDA\communication-QT1\. ?
essayes comme celà:
essayes comme celà:
<?php $id_connex=mysql_connect("localhost","root","") or die("Connexion impossible"); mysql_query("use ONDA"); $content_dir = 'C:\wamp\www\ONDA\communication-QT1\.'; $tmp_file = $_FILES['fichier']['tmp_name']; $name_file = $_FILES['fichier']['name']; if( is_uploaded_file($tmp_file) ) { if( move_uploaded_file($tmp_file, $content_dir . $name_file) ){ echo "Le fichier <b>$name_file</b> a bien été uploadé" }else{ echo "Impossible de copier le fichier <b>$name_file</b> dans <b>$content_dir</b>"; } }else{ echo $_FILES['fichier']['error'];; } ?>
C'est vrai que le point à la fin de $content_dir est sûrement une erreur, mais elle ne devrait provooquer un problème qu'à partir du move_uploaded_file, pas dès le if( !is_uploaded_file($tmp_file) ).
Je n'ai pas bien compris ce qui a changé entre le script de njimer et le tien, à part un peu de mise en forme, les mêmes fonctions sont appelées dans le même ordre. Tu as même laissé le point à la fin de $content_dir.
Je n'ai pas bien compris ce qui a changé entre le script de njimer et le tien, à part un peu de mise en forme, les mêmes fonctions sont appelées dans le même ordre. Tu as même laissé le point à la fin de $content_dir.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
Modifié par Alain_42 le 1/06/2012 à 14:04
Modifié par Alain_42 le 1/06/2012 à 14:04
je ne me suis rendu compte de la présence du point et rajouté la remarque qu'après avoir refait et copie /collé le code
perso je préfère tester en positif plutôt qu'en négatif
on a toujours de surprises
perso je préfère tester en positif plutôt qu'en négatif
on a toujours de surprises
mjimer
Messages postés
24
Date d'inscription
mercredi 30 mai 2012
Statut
Membre
Dernière intervention
17 juin 2012
2 juin 2012 à 12:18
2 juin 2012 à 12:18
Bonjour
si j'enlève le point qui se trouve a la fin du chemin j'ai le message d'erreur qui s'affiche :
Parse error: syntax error, unexpected T_STRING in C:\wamp\www\ONDA\upload1.php on line 6
si j'enlève le point qui se trouve a la fin du chemin j'ai le message d'erreur qui s'affiche :
Parse error: syntax error, unexpected T_STRING in C:\wamp\www\ONDA\upload1.php on line 6
mjimer
Messages postés
24
Date d'inscription
mercredi 30 mai 2012
Statut
Membre
Dernière intervention
17 juin 2012
2 juin 2012 à 12:21
2 juin 2012 à 12:21
Et lorsque j'ai ajoutée la fonction :
var_dump($_FILES); ça m'affiche :
array(0) { }
dans la page upload1.php
var_dump($_FILES); ça m'affiche :
array(0) { }
dans la page upload1.php
Utilisateur anonyme
2 juin 2012 à 12:43
2 juin 2012 à 12:43
si $_FILES est vide, c'est que tu n'as rien téléchargé du tout... Ça n'est même pas arrivé jusqu'à ton script, ton traitement n'y peut rien.
Tu n'aurais pas essayé avec un fichier trop gros par hasard ? essaye de charger un petit fichier court (<100k)
Tu n'aurais pas essayé avec un fichier trop gros par hasard ? essaye de charger un petit fichier court (<100k)
mjimer
Messages postés
24
Date d'inscription
mercredi 30 mai 2012
Statut
Membre
Dernière intervention
17 juin 2012
2 juin 2012 à 13:44
2 juin 2012 à 13:44
oui j'avais modifier le formulaire ou j'avais enlever le value (représentant la taille du fichier)
Utilisateur anonyme
2 juin 2012 à 13:50
2 juin 2012 à 13:50
j'avais modifier le formulaire
Peux-tu montrer ton formuliare modifié ?
Peux-tu montrer ton formuliare modifié ?
mjimer
Messages postés
24
Date d'inscription
mercredi 30 mai 2012
Statut
Membre
Dernière intervention
17 juin 2012
2 juin 2012 à 13:53
2 juin 2012 à 13:53
d'accord le voici :
<form method="POST" action="upload1.php" enctype="multipart/form-data">
<!-- On limite le fichier à 100Ko -->
<input type="hidden" name="MAX_FILE_SIZE">
Fichier : <input type="file" name="userfile" value="">
<input type="submit" name="envoyer" value="Envoyer le fichier">
</form>
<form method="POST" action="upload1.php" enctype="multipart/form-data">
<!-- On limite le fichier à 100Ko -->
<input type="hidden" name="MAX_FILE_SIZE">
Fichier : <input type="file" name="userfile" value="">
<input type="submit" name="envoyer" value="Envoyer le fichier">
</form>
mjimer
Messages postés
24
Date d'inscription
mercredi 30 mai 2012
Statut
Membre
Dernière intervention
17 juin 2012
2 juin 2012 à 13:54
2 juin 2012 à 13:54
plutot :
d'accord le voici :
<form method="POST" action="upload1.php" enctype="multipart/form-data">
<!-- On limite le fichier à 100Ko -->
<input type="hidden" name="MAX_FILE_SIZE">
Fichier : <input type="file" name="userfile" >
<input type="submit" name="envoyer" value="Envoyer le fichier">
</form>
d'accord le voici :
<form method="POST" action="upload1.php" enctype="multipart/form-data">
<!-- On limite le fichier à 100Ko -->
<input type="hidden" name="MAX_FILE_SIZE">
Fichier : <input type="file" name="userfile" >
<input type="submit" name="envoyer" value="Envoyer le fichier">
</form>
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
2 juin 2012 à 14:08
2 juin 2012 à 14:08
<input type="hidden" name="MAX_FILE_SIZE">
value= ???????
value= ???????
mjimer
Messages postés
24
Date d'inscription
mercredi 30 mai 2012
Statut
Membre
Dernière intervention
17 juin 2012
2 juin 2012 à 14:11
2 juin 2012 à 14:11
non j'ai enlevée le value pour ne pas avoir la contrainte de la taille
mjimer
Messages postés
24
Date d'inscription
mercredi 30 mai 2012
Statut
Membre
Dernière intervention
17 juin 2012
2 juin 2012 à 14:12
2 juin 2012 à 14:12
<form method="POST" action="upload1.php" enctype="multipart/form-data">
Fichier : <input type="file" name="userfile" >
<input type="submit" name="envoyer" value="Envoyer le fichier">
</form>
Fichier : <input type="file" name="userfile" >
<input type="submit" name="envoyer" value="Envoyer le fichier">
</form>
Utilisateur anonyme
2 juin 2012 à 14:14
2 juin 2012 à 14:14
Pour être plus explicite : enlève complètement la ligne <input type="hidden" name="MAX_FILE_SIZE">
De plus, je vois que tu as changé le nom du fichier pour 'userfile' au lieu de 'fichier'. Quel intérêt ? Mis à part de t'obliger à modifier partout ton script qui reçoit le fichier ?
De plus, je vois que tu as changé le nom du fichier pour 'userfile' au lieu de 'fichier'. Quel intérêt ? Mis à part de t'obliger à modifier partout ton script qui reçoit le fichier ?
mjimer
Messages postés
24
Date d'inscription
mercredi 30 mai 2012
Statut
Membre
Dernière intervention
17 juin 2012
2 juin 2012 à 14:24
2 juin 2012 à 14:24
<form method="POST" action="upload1.php" enctype="multipart/form-data">
Fichier : <input type="file" name="fichier" >
<input type="submit" name="envoyer" value="Envoyer le fichier">
</form>
même si le meme message s'affiche :
array(0) { }
Fichier : <input type="file" name="fichier" >
<input type="submit" name="envoyer" value="Envoyer le fichier">
</form>
même si le meme message s'affiche :
array(0) { }
Utilisateur anonyme
2 juin 2012 à 14:53
2 juin 2012 à 14:53
J'ai copié-collé ton script et la seule manière que j'ai trouvée pour reproduire ton défaut, c'est d'envoyer un fichier trop gros. Je t'ai dit à plusieurs reprises d'essayer avec un fichier pas trop gros.
Quelle est la taille du fichier que tu essayes de télécharger ?
Quelle est la taille du fichier que tu essayes de télécharger ?
mjimer
Messages postés
24
Date d'inscription
mercredi 30 mai 2012
Statut
Membre
Dernière intervention
17 juin 2012
2 juin 2012 à 15:09
2 juin 2012 à 15:09
la taille de mon fichier est de 78 ko
ça reste toujours la contrainte de taille même si j'ai enlevée le input ??
ça reste toujours la contrainte de taille même si j'ai enlevée le input ??
Utilisateur anonyme
2 juin 2012 à 15:17
2 juin 2012 à 15:17
Normalement, 78ko ça passe. Il y a bien une contrainte dans la configuration de php, mais elle n'est certainement pas si bas que ça.
Peux-tu mettre phpinfo(); au début de ton script pour voir ta version de php et son paramétrage ? il y en a un paquet, fais une recherche sur le mot upload.
Peux-tu mettre phpinfo(); au début de ton script pour voir ta version de php et son paramétrage ? il y en a un paquet, fais une recherche sur le mot upload.
mjimer
Messages postés
24
Date d'inscription
mercredi 30 mai 2012
Statut
Membre
Dernière intervention
17 juin 2012
2 juin 2012 à 15:39
2 juin 2012 à 15:39
justement puisque tous les fonctions utilisées ils sont écrites par une couleur standard normalement si ils sont connus par php ils seront écrites en bleu .
pour la version de mon php c'est PHP Version 5.2.1 j'ai pas compris qu'est ce que vous voulez dire par il y en a un paquet , fais une recherche sur le mot upload ??
pour la version de mon php c'est PHP Version 5.2.1 j'ai pas compris qu'est ce que vous voulez dire par il y en a un paquet , fais une recherche sur le mot upload ??