Hin und wieder hat man das Bedürfnis oder aber die Aufgabe, Bilder von bekannten URLs auf dem eigenen Rechner/Server zu speichern. Mit PHP gelingt dies relativ einfach und bequem. Folgende Utility-Klasse zeigt, wie es gehen könnte.
class Utility { static public function getRemoteImage($url, $fileName) { // Hole das Bild von der URL $imageData = file_get_contents($url); // Erzeuge eine neue Datei auf dem Webserver // Das Zielverzeichnis muss für den Webserver-Benutzer beschreibbar sein $fileHandle = fopen($fileName, "w"); fwrite($fileHandle, $imageData); fclose($fileHandle); } }
Um das Bild jetzt zu speichern genügt nach Einbinden der Klasse folgender Aufruf:
require_once 'class.Utility.php'; Utility::getRemoteImage("http://www.example.com/picture.jpg","picture.jpg");
Was man letzten Endes speichert, bleibt sich relativ egal. Es können Binärdaten und Textdaten gleichermaßen gespeichert werden. Damit das Ganze funktioniert, muss in der Server/Host-Konfiguration mindestens allow_url_fopen auf on stehen. Die Funktionalität ist natürlich auf das Nötigste beschränkt.
Viel Spaß beim Ausprobieren und Erweitern!