Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/12/2006, 15h36   #1
Membre habitué
 
Inscription : mai 2002
Messages : 475
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 475
Points : 105
Points : 105
Par défaut [Upload] move_uploaded_file ne marche pas

enfin si...
j'ai un dossier "upload" qui contient :
un dossier "image" et
un fichier pour l'upload

tout se passe comme si tout etait ok(pas de warning...) sauf que le fichier uploader ne se trouve pas dans le répertoire de destination "image"

Code :
1
2
3
4
5
6
7
 
$uploaddir = './image/';
$savefile = $uploaddir.$boutfichier[0]."_".$date.".".$dernier;
$savefile = ereg_replace("[\\]","/",$savefile);
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $savefile)){
...
}
voyez vous d'où cela peut venir?

merci
nicerico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2006, 15h42   #2
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
Remplace ton $savefile par un nom de fichier simple et regarde si move_upload_file() fonctionne dans celui ci ....

en gros essaie d'uploader dossier/tonfichier.ext tout simplement avant d incorporer $date et compagnie
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2006, 15h58   #3
Membre habitué
 
Inscription : mai 2002
Messages : 475
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 475
Points : 105
Points : 105
meme resultat...
si j'affiche certaines variables, voila le resultat :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
...
$uploaddir = './images/';
$savefile = $uploaddir.$boutfichier[0]."_".$date.".".$dernier;
$savefile = ereg_replace("[\\]","/",$savefile);
echo $savefile;
//donne                ./images/part_061204043205.jpg
echo $_FILES['userfile']['tmp_name'];
//donne                D:\PHP\uploadtemp\php204E.tmp
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $savefile)){
...
}
et toujours aucune erreur affichée...
nicerico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2006, 15h59   #4
Modérateur
 
Avatar de Rakken
 
Inscription : août 2006
Messages : 1 207
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 1 207
Points : 1 137
Points : 1 137
J'ai déjà eu des problèmes de fichiers qui n'apparaissaient pas parce que dans mon formulaire d'appel j'avais oublié de mettre 'enctype="multipart/form-data"'.
Soit une balise form qui doit ressembler à :
Code :
1
2
 
<form name="mon_formulaire" enctype="multipart/form-data" method="post" action="destination.php">
Vérifie que tu ne l'as pas oublié.
--
Rakken.
Rakken est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2006, 16h00   #5
Membre habitué
 
Inscription : mai 2002
Messages : 475
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 475
Points : 105
Points : 105
erreur déjà commise aussi
mais pas sur ce cas là...

et si je change le dossier de destination par un dossier qui se trouve en dehors du dossier "upload" j'ai droit au warning

Citation:

Warning: move_uploaded_file(../xxx/xxx/part_061204044225.jpg): failed to open stream: No such file or directory in D:\www\xxx\xxx\xxx\xxx\admin\upload\upload.php on line 33
nicerico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2006, 16h09   #6
Modérateur
 
Avatar de Rakken
 
Inscription : août 2006
Messages : 1 207
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 1 207
Points : 1 137
Points : 1 137
Alors faut simplifier encore ton code.

Essaye de sauvegarder ton fichier sous un nom bien défini (genre "montest.jpg") dans ton répertoire courrant, sans chercher plus loin.
Une fois que c'est fait, fait une ptite recherche dans ton projet pour savoir s'il ne t'a pas créé "montest.jpg" ailleurs (typiquement, un ou deux répertoire plus haut, ca peut parfois se produire en fonction des includes et de qui appele qui...).

Et a partir du moment, ou ton fichier est généré, tu n'a plus qu'a remodifier ptit à ptit pour le mettre vraiment ou tu veux avec le nom que tu veux.

--
Rakken
Rakken est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2006, 16h10   #7
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
normalement si tu ecris comme ceci :

Code :
1
2
3
4
5
6
7
8
$uploaddir = './images/';
$savefile = $uploaddir.$boutfichier[0]."_".$date.".".$dernier;
$savefile = ereg_replace("[\\]","/",$savefile);
echo $savefile;
//donne                ./images/part_061204043205.jpg
echo $_FILES['userfile']['tmp_name'];
//donne                D:\PHP\uploadtemp\php204E.tmp
move_uploaded_file($_FILES['userfile']['tmp_name'], $savefile);
Le code devrait te renvoyer un chiffre de 0 a 7 , qui est le code erreur de la fonction move_uploaded_file() , si c est 0 c est que tout est Ok sinon il y aun probleme
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2006, 16h20   #8
Membre habitué
 
Inscription : mai 2002
Messages : 475
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 475
Points : 105
Points : 105
ça fonctionne MAIS c'est bizarre...
j'ai rajouté avant le if
Code :
move_uploaded_file($_FILES['userfile']['tmp_name'], $savefile);
ce qui donne :
Code :
1
2
3
4
5
6
7
8
9
10
11
 
...
$uploaddir = './images/';
$savefile = $uploaddir.$boutfichier[0]."_".$date.".".$dernier;
$savefile = ereg_replace("[\\]","/",$savefile);
 
move_uploaded_file($_FILES['userfile']['tmp_name'], $savefile);
 
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $savefile)){
...
}
le if n'execute pas move_uploaded_file ???
nicerico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2006, 16h21   #9
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
bizare ? ça marche correctement ? la fonction te renvoi un chiffre ?
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2006, 16h27   #10
Membre habitué
 
Inscription : mai 2002
Messages : 475
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 475
Points : 105
Points : 105
non rien du tout...
et ce qui est encore plus drole c'est que je fais des test sur 2 serveurs et avec un ça marche et l'autre non...
nicerico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2006, 18h49   #11
Membre actif
 
Inscription : juillet 2003
Messages : 257
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 257
Points : 162
Points : 162
une idée comme ca : essaye de mettre un chemin global pour le dossier de destination
SegmentationFault est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2006, 10h41   #12
Membre habitué
 
Inscription : mai 2002
Messages : 475
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 475
Points : 105
Points : 105
3X helas non
meme avec
Citation:
D:\www\xxx\xxx\xxx\xxx\images
ça fait comme si tout etait ok mais pas d'image sur le serveur
nicerico est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h04.


 
 
 
 
Partenaires

Hébergement Web