Enregistrer une image sur mon serveur en PHP
hcase
-
martouf Messages postés 45 Statut Membre -
martouf Messages postés 45 Statut Membre -
Bonjour,
Voilà, il existe, sur un site internet qui ne m'appartient pas, des images ayant chacune un nom particulier (que je connais) en png. Je voudrais, à la demande (donc lors du lancement d'un certain script php), récupérer une de ces images, en désignant dans le script le chemin exact jusqu'à cette image. Je voudrais qu'en ayant simplement l'url de cette image, php enregistre cette image sur MON serveur, dans un dossier particulier, et que cette image garde son nom d'origine (ou pas). Je m'arrache les cheveux à trouver quelque chose de tel... Je n'ai aucune base de script à fournir vu que tout ce que j'ai essayé échoue, car la plupart du temps, les fonctions trouvées ne font pas ce que je voudrais...
Si quelqu'un peut m'aider, ce serait génial ! Merci d'avance :)
PS: Je sais que le site en question autorise la récupération des images, donc cela ne devrait pas poser de problème.
Voilà, il existe, sur un site internet qui ne m'appartient pas, des images ayant chacune un nom particulier (que je connais) en png. Je voudrais, à la demande (donc lors du lancement d'un certain script php), récupérer une de ces images, en désignant dans le script le chemin exact jusqu'à cette image. Je voudrais qu'en ayant simplement l'url de cette image, php enregistre cette image sur MON serveur, dans un dossier particulier, et que cette image garde son nom d'origine (ou pas). Je m'arrache les cheveux à trouver quelque chose de tel... Je n'ai aucune base de script à fournir vu que tout ce que j'ai essayé échoue, car la plupart du temps, les fonctions trouvées ne font pas ce que je voudrais...
Si quelqu'un peut m'aider, ce serait génial ! Merci d'avance :)
PS: Je sais que le site en question autorise la récupération des images, donc cela ne devrait pas poser de problème.
A voir également:
- Enregistrer une image sur mon serveur en PHP
- Audacity enregistrer son pc - Guide
- Changer serveur dns - Guide
- Comment enregistrer une conversation - Guide
- Comment enregistrer une musique sur youtube en mp3 - Guide
- Légender une image - Guide
3 réponses
Donc en fait, vous voulez aspirer les images d'un site... faites quand même attention aux droits d'auteur qu'il y a sur les images...
Ceci dit, une recherche sur la doc de PHP vous aurez apportée une réponse, concrètement vous voulez ouvrir un fichier et l'enregistrer quelque part et PHP a justement des fonctions pour ça :
file_get_contents -- Lit tout un fichier dans une chaîne
file_put_contents -- Écrit un contenu dans un fichier
Si vous avez déjà essayé ces deux fonctions et que cela ne fonctionne pas, il faudra vous reposer la question, à savoir si le site autorise vraiment la récupération des images.
Ceci dit, un site qui présente le même contenu qu'un autre site n'est jamais très bien vu, à bon entendeur.
Ceci dit, une recherche sur la doc de PHP vous aurez apportée une réponse, concrètement vous voulez ouvrir un fichier et l'enregistrer quelque part et PHP a justement des fonctions pour ça :
file_get_contents -- Lit tout un fichier dans une chaîne
file_put_contents -- Écrit un contenu dans un fichier
Si vous avez déjà essayé ces deux fonctions et que cela ne fonctionne pas, il faudra vous reposer la question, à savoir si le site autorise vraiment la récupération des images.
Ceci dit, un site qui présente le même contenu qu'un autre site n'est jamais très bien vu, à bon entendeur.
Ah non je ne les voles pas, je ne les aspires pas ^^ Il s'agit à vrai dire de skins minecraft, et je souhaitais pouvoir récupérer ceux des joueurs présent sur mon serveur minecraft, pour les afficher ensuite dans leur profils sur mon forum. Mais j'ai résolu mon problème, j'ai utilisé la commande copy, et en fait le probleme venait du fait que je n'avais pas mis "allow_url_open" sur On dans php.ini, ce qui bloquait le processus. Merci quand même :) :)
Pour ceux qui auraient besoin du code:
<?php
$file = 'http://lesite.com/images/nomdelimage.png';
$newfile = 'mesimages/nomdelimage.png';
copy($file,$newfile);
?>
Sachant que les deux noms d'image peuvent etre different
Pour ceux qui auraient besoin du code:
<?php
$file = 'http://lesite.com/images/nomdelimage.png';
$newfile = 'mesimages/nomdelimage.png';
copy($file,$newfile);
?>
Sachant que les deux noms d'image peuvent etre different
Désolé de déterrer mais j'ai bien allow_url_fopen sur "On" et pourtant mon script (qui est identique à celui au dessus) revoie une erreur :
Pourtant en local (avec wampserver) ce même script fonctionne très bien.
info sur mon serveur ici : http://piegaym.free.fr/info.php/
Si vous pouvez m'aider (je débute en PHP), je vous remercie d'avance
Martin
Warning: copy(http://**.**.***.***:21092/image.jpg) [function.copy]: failed to open stream: Network is unreachable in /mnt/133/sda/2/d/*******/********.php on line 13 le fichier est dans MurImg/25-03-2013-11-26.jpg
Pourtant en local (avec wampserver) ce même script fonctionne très bien.
info sur mon serveur ici : http://piegaym.free.fr/info.php/
Si vous pouvez m'aider (je débute en PHP), je vous remercie d'avance
Martin