Move_uploaded_file() php

Fermé
SuperMan - Modifié par SuperMan le 26/08/2011 à 16:53
 SuperMan - 27 août 2011 à 01:37
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 vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
26 août 2011 à 16:55
0
pitxu Messages postés 689 Date d'inscription vendredi 7 septembre 2007 Statut Membre Dernière intervention 25 mars 2015 94
26 août 2011 à 16:56
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
bonjour et merci de ta réponse,
comment est je peux utiliser move_uploaded_file() et file_exists() dans ce cas ?
0
sinon autrement?!!
0
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
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
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
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