Bilder von einer Seite auf den eigenen Webspace laden
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abrufen
antwort
anzahl
aufgefallen
bild
code
dank
datei
fehlermeldung
folgendem format
funktion
hilfreiche info
http
kopieren
ordner
schleife
standard
testen
url
zahl
-
Gude.
Ich habe vor ~200 Bilder von einer Seite auf meinen Webspice zu kopieren.
Die Bilder sind in folgendem format:
ordner/<zahl>.png (Zahl = 1, danach 2, danach3, usw...), von daher wäre das ja mit ner Schleife einfach zu machen.
Gibt es denn eine PHP Funktion womit ich diese Bilder dann "automatisch" auf meinen WebSpace ziehe?
MfG -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo,
genau kann ich es nicht sagen, aber vielleicht reicht das als Denkanstoß:
for($i=0;$i<$bildanzahl;$i++){ $data = 'http://Domain.com/Bilder/'.$i.".png"; $open = fopen($data, 'r'); $content = stream_get_contents($open); fclose($open) $handle = fopen("Bilder/".$i.".png","w"); fwrite($handle, $content); fclose($handle); }
Die Datei vom Server abrufen, in eine Variable kopieren und speichern (natürlich alles in einer Schleife).
Ich hoffe, dass es hilft! -
Moin, die Seite lädt schonmal ewig was zeigt dass das Script arbeitet, gespeichert wird bei mir allrdings nichts.
Danke im Vorraus!
Habs mal auf 777 gesetzt, mal schauen
// 777 klappt nicht
Beitrag zuletzt geändert: 6.8.2012 19:12:35 von pottii -
Jetzt sollte vermutlich die Standard-Antwort lauten: darfst du denn rechtlich die Bilder überhaupt kopieren... bla bla
Du kannst es ja mal so versuchen:$anzahl = 20; for($i = 0; $i < $anzahl; $i++) { $url = "http://www.example.com/Bilder/$i.png"; $name = "ordner/$i.png"; $content = file_get_contents($url); file_put_contents($name, $content); }
Ebenfalls solltest du Fehlermeldungen aktivieren, das könnte dir hilfreiche Info geben... -
Jetzt sollte vermutlich die Standard-Antwort lauten: darfst du denn rechtlich die Bilder überhaupt kopieren... bla bla
Die Bilder gehören nichtmal der Seite von der ich sie "kopieren" will sondern dem offiziellen GTA Wiki, nur so nebenbei
Rechtlich geschützt sind sie aber nicht ;)
Danke schonmal.
Erstmal testen.
Edit:// Hm, klappt shconmal besser, allerdings werden trotzt dass die anzahl auf 299 steht nur 9 Dateien erstellt.
Weiterhin haben diese alle 0 B und sind nicht aufrufbar :o
//edit: Ok: wurden alle erstellt, haben aber alle 0Kilobyte
Beitrag zuletzt geändert: 6.8.2012 19:40:01 von pottii -
pottii schrieb:
Bekommst du irgendwelche Fehlermeldungen? Wie siehst mit der maximalen Ausführungszeit deines Scripts aus?
Edit:// Hm, klappt shconmal besser, allerdings werden trotzt dass die anzahl auf 299 steht nur 9 Dateien erstellt.
Weiterhin haben diese alle 0 B und sind nicht aufrufbar :o
Ansonsten könntest du auch noch cURL verwenden falls es sonst nicht funktionieren sollte...
-
Nun, Fehler gibt es keine, mir ist aber aufgefallen dass die Dateien wie folgt heissen:
001
002
...
113
...
295
Sorry Dafür :o
Mit for($i = 000; $i < 005; $i++) scheints aber auch nicht zu gehen ^^ Werden rein garkeine Dateien erstellt und lädt trotzdem 2 Sekunden das Script.
Wie ginge das denn mit cUrl? Nie damit befasst.
-
pottii schrieb:
Das kann es ja auch gar nicht
Mit for($i = 000; $i < 005; $i++) scheints aber auch nicht zu gehen ^^ Werden rein garkeine Dateien erstellt und lädt trotzdem 2 Sekunden das Script.$anzahl = 295; for($i = 0; $i < $anzahl; $i++) { $url = sprintf('http://www.example.com/Bilder/%03d.png', $i); $name = sprintf(ordner/%03d.png', $i); $content = file_get_contents($url); file_put_contents($name, $content); }
-
Hm jetzt läd das Script scheinbar endlos und erstellt wird rein garnichts
ich weiss ich bin ein hoffnungsloser fall ^^
Nunja, so siehts bisher aus:
<?php error_reporting(E_ALL); ini_set('display_errors', TRUE); $anzahl = 299; for($i = 0; $i < $anzahl; $i++) { $url = sprintf('http://ucp.<unwichtig>.net/Skins/%03d.jpg', $i); $name = sprintf('Skins/%03d.jpg', $i); $content = file_get_contents($url); file_put_contents($name, $content); } ?>
Edit: // hats ich doch erledigt, vielen dank! :)
Beitrag zuletzt geändert: 6.8.2012 20:17:03 von pottii -
pottii schrieb:
Was war die Lösung?
Edit: // hats ich doch erledigt, vielen dank! :) -
Genau so wie du es gepostet hast :) Die wurden vorhin nur irgendwie nicht angezeigt. vermutlich wegen dem Benutzer-Webspaces PHP Lagg der heute herrscht ^^
MfG und danke! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage