Hallo und guten Abend,
ich möchte ein paar Bilder von einer anderen Seite per PHP abholen und lokal auf meinem Webspace speichern. Die Erlaubnis liegt vor. Folgendes kleines Script nutze ich
<?php error_reporting(E_ALL); ini_set('display_errors', 1); $url = 'example.com/100_4871.JPG'; $img = '100_4871.JPG'; $file = file($url); $result = file_put_contents($img, $file) ?>
Du hast das Scheme vergessen:
$url = 'http://example.com/100_4871.JPG
Und mit der Zeile
$file = file($url);
erezugst Du ein Array mit den Textzeilen der Quelldatei. Bei Bildern ist das ziemlich unsinnig. Da nimmst Du besser file_get_contents()
oder noch besser einen vollständigen File-Dialog mit fopen()
, fread()
, fclose()
. Da kann man die Fehler besser behandeln. Und noch besser wäre im vorliegenden Fall fsockopen()
- Denn dann könnte man auch die Timeouts für den Socket und das Lesen getrennt kontrollieren.
[ich weiß, dass das bei file_get_contents() auch reingebastelt wurde ... ;-P]
Und was die Zeile
$result = file_put_contents($img, $file)
bewirken soll, ist mir nicht einsichtig.
Grüße
TS