Heyho,
ich wollte mal ein wenig mit cURL spielen, bin aber zu doof dazu.
Mein Ziel: eine Reihe von Bildern von einem Server auf meine Platte ziehen. Ich will mich nicht durch hunderte Bilder manuell mit "Speichern unter" durchklickern
Mein Problem: cURL empfängt die Bilder offenbar nicht richtig.
Mein bisheriger Code:
PHP
<?php
function getimg ($url) {
$ch = curl_init();
$timeout = 5;
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
for ($x = 0; $x <= 47; $x++) {
for ($y = 0; $y <= 39; $y++) {
$img = getimg(/* Base URL */ . $x . "/" . $y . ".png");
file_put_contents("img/" . $x . "-" . $y . ".png", $img);
}
}
echo "Fertig.";
/* EOF */
Alles anzeigen
Das liefert mir so allerdings eine Ausgabe der Bildrohdaten im Browserfenster (öffnet ein .png Bild mit dem Editor...) und lauter 1KB große, fehlerhafte Bilddateien im Ordner /img. Warum, was fehlt?
Und keine Angst, die Bilder sind frei zugänglich und Open Source, nur ist die URL recht lang