Récupérer image via url

20cents
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 31
Inscription: 20 Nov 2007

Récupérer image via url

Message le Mar Mar 29, 2011 11:35

Bonjour à tous,

J'ai une variable $url dans laquelle je stocke l'url d'une image.
Je voudrais pouvoir enregistrer automatiquement cette image dans un dossier images sur mon ftp. Cette image aurait comme nom l'id du user. Et remplacer cette image a chaque connexion si elle existe deja, donc qu'elle écrase la précédente.

Comment je peux faire ?

Merci


Blount
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 430
Inscription: 18 Nov 2010

Re: Récupérer image via url

Message le Mar Mar 29, 2011 11:40

Tu peux utiliser la fonction "copy" qui permet de faire des récupérer des fichiers distants.


Zecat
WRInaute accro
WRInaute accro
 
Messages: 12003
Inscription: 1 Mar 2005

Re: Récupérer image via url

Message le Mar Mar 29, 2011 11:53

tu peux aussi faire simplement un file get contents suivi d'un fwrite


Blount
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 430
Inscription: 18 Nov 2010

Re: Récupérer image via url

Message le Mar Mar 29, 2011 12:39

Zecat a écrit:tu peux aussi faire simplement un file get contents suivi d'un fwrite


J'aurai même dit file_get_contents suivi d'un file_put_contents ;)

Le problème de file_get_contents, c'est que tu dois récupérer le contenu dans une variable, ce qui consomme en mémoire.
"copy" ne devrait pas le faire.


spout
WRInaute accro
WRInaute accro
 
Messages: 4382
Inscription: 14 Mai 2003

Re: Récupérer image via url

Message le Mar Mar 29, 2011 12:45

Et checker que c'est bien une image avec getimagesize() pour connaitre son MIME :)


Zecat
WRInaute accro
WRInaute accro
 
Messages: 12003
Inscription: 1 Mar 2005

Re: Récupérer image via url

Message le Mar Mar 29, 2011 12:47

perso je le fais avec des images de type avatar, donc ca va pas péter loin ... :wink:

20cents
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 31
Inscription: 20 Nov 2007

Re: Récupérer image via url

Message le Mar Mar 29, 2011 17:59

Merci de vos réponses :)

J'ai testé ca, mais ca ne fontionne pas... Vous pouvez peut-être me dire pourquoi...

Code: Tout sélectionner
$img = file_get_contents("http://www.jaimetoo.com/cayoteux/images/avatar.png");
file_put_contents("http://www.jaimetoo.com/cayoteux/images/test/avatar.png", $img);


Apres avoir lancé le script, mon image n'est pas présente dans le dossier test.


Zecat
WRInaute accro
WRInaute accro
 
Messages: 12003
Inscription: 1 Mar 2005

Re: Récupérer image via url

Message le Mar Mar 29, 2011 18:20

Code: Tout sélectionner
$chemin=$_SERVER["DOCUMENT_ROOT"]."/cayoteux/images/avatar.png";
$img = file_get_contents($chemin);

$chemin=$_SERVER["DOCUMENT_ROOT"]."/cayoteux/images/test/avatar.png";
$fpagesreferer = fopen ($chemin, "w");
fwrite ($fpagesreferer, $img); 
fclose ($fpagesreferer);


Je pose comme hypothèse que le dossier test exist (mais bon faudrait ajouter un is-dir et mk_dir par sécurité.


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8579
Inscription: 23 Nov 2005

Re: Récupérer image via url

Message le Mar Mar 29, 2011 18:23

De mémoire, il faut que la directive allow_url_fopen soit sur true pour que cela fonctionne : http://www.php.net/manual/fr/filesystem.configuration.php#ini.allow-url-fopen


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3974
Inscription: 16 Nov 2004

Re: Récupérer image via url

Message le Mer Mar 30, 2011 8:42

20cents a écrit:J'ai une variable $url dans laquelle je stocke l'url d'une image.
Je voudrais pouvoir enregistrer automatiquement cette image dans un dossier images sur mon ftp. Cette image aurait comme nom l'id du user. Et remplacer cette image a chaque connexion si elle existe deja, donc qu'elle écrase la précédente.

Comment je peux faire ?


Code: Tout sélectionner
// retire l'ancienne image
if (file_exists("$path/old_img.jpg"))  unlink ("$path/old_img.jpg");
// met la nouvelle
copy("$path/new_img.jpg", "$path/$id_users.jpg");


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité