Move_uploaded_file() php

SuperMan -  
 SuperMan -
Bonjour,

je souhaite faire un upload de quelque fichiers vers mon site web et j'utilise la fonction move_uploaded_file()

$extension=strrchr(basename($_FILES['pic']['name']),".");
move_uploaded_file($_FILES['pic']['tmp_name'],"http://monnomdedomain/pics/".$_SESSION['username'].$extension);

mais le problème c'est que l'upload se déroule pas bien et j'estl'erreur suivante

Warning: move_uploaded_file(http://monnomdedomain/pics/username.jpg) [function.move-uploaded-file]: failed to open stream: HTTP wrapper does not support writeable connections in C:\wamp\www\...\index.php on line 187

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\wamp\tmp\php1E.tmp' to 'http://monnomdedomain/pics/username.jpg' in C:\wamp\www\...\index.php on line 187

quelqu'un sait d'ou vient cette erreur?

merci d'avance


A voir également:

5 réponses

Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
0
pitxu Messages postés 689 Date d'inscription   Statut Membre Dernière intervention   95
 
Bonjour,

tu utilises le wrapper HTTP qui fonctionne en lecture seule, il faut utiliser le wrapper FTP :

fopen('ftp://', 'w') au lieu de fopen('http://', 'w')
0
SuperMan
 
bonjour et merci de ta réponse,
comment est je peux utiliser move_uploaded_file() et file_exists() dans ce cas ?
0
SuperMan
 
sinon autrement?!!
0
le père
 
Bonjour

Je trouve très curieux de faire tourner un script en local pour envoyer un fichier vers son site. Pourquoi ne pas utiliser ton client FTP habituel ?

La démarche classique est de faire tourner le script sur le serveur du site, et là tu n'as ni http:// ni ftp:// dans le move_uploaded_file, puisqu'il travaille uniquement dans le système de fichiers du serveur.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SuperMan
 
Pourquoi ne pas utiliser ton client FTP habituel ?
parce que ce serai aux utilisateurs de faire cet upload

move_uploaded_file, puisqu'il travaille uniquement dans le système de fichiers du serveur.

merci c'est la solution que j'ai suivi aussi et ça marche nikel avec un url relative.

merci pour vos réponses les amis ;)
0
le père
 
parce que ce serai aux utilisateurs de faire cet upload
Justement,si c'est aux utilisateurs de faire cet upload, le move_uploaded_file est à faire avec un fichier local (donc pas de http:// ni de ftp:// dans le second paramètre)
ça marche nikel avec un url relative
Non, ce n'est pas une URL relative, c'est un chemin relatif. Et ton problème c'est que tu mettais une url justement. Il ne faut pas confondre URL ("adresse internet" qui peut être absolue ou relative ) et un chemin (nom de fichier, qui peut aussi être absolu ou relatif)
Si tu as eu ton problème au départ, c'est justement parce que tu ne distingues pas les deux.
0
SuperMan
 
tout à fait raison.
Non, ce n'est pas une URL relative.
merci pour la correction et la précision et mille merci pour ton aide ;-)
0