[PHP] Bilder per Script herunterladen

Raze

CHARGIN MAH LAZER
ID: 116848
L
6 Mai 2006
294
28
Hallo,

ich möchte mit PHP ne Seite Parsen und dabei die darauf vorhandenen Bilder herunterladen.

Ich habe dafür einen bestimmten Code gefunden:
PHP:
$handle = fopen ("../../bilder_content/big/21544.jpg", "wb");
»»   fwrite($handle, $content);
»»   fclose ($handle);

Nun ist es aber so, dass bei fopen ein direkter link zum Bild angegeben wird.
Bei mir verweist der link jedoch nicht auf eine .jpg (o.ä) Datei sondern entspricht dem Muster:
../image/564616dff811

Und wenn ich diesen Link klicke öfnet sich eine Seite auf der nicht nur das Bild vorhanden ist.

Kann ich ein solches Bild auch iwie auslesen?

mfg Raze
 
Wenn du kein Bild, sondern eine Webseite "liest", musst du eben das Markup lesen und die Stelle finden, wo das Bild ist. Hast du das Bild - du kriegst nur die Adresse -, musst du die Adresse auswerten (ggf. Pfad ergänzen, absolut machen) und dann mit einem neuen Request das Bild holen.
 
Habs versucht, aber ich bekomme absolut keinen bildpfad raus :/

wenn ich zum bsp. auf dieser Seite bin, steht oben bild speichern. Wenn ich diesen Link verfolge (im quellcode da sonst der dl startet) bekomme ich einen link nach folgendem Muster:
/blabla/dl.php?ID=28881438&sec=0766a2371b7966622cc25e646a867cc2

:-?
 
/blabla/dl.php?ID=28881438&sec=0766a2371b7966622cc25e646a867cc2
Das ist ein relativer Pfad, in diesem Fall zur (Sub-)Domain. Den musst du natürlich anpassen, wie es ein Browser auch machen würde, um die richtige URL zu bekommen.
 
Und wie mache ich das mit PHP?
Hab bis jetzt noch nie etwas in der richtung gemacht und weiß grad nich ein noch aus :ugly:
 
Und wie mache ich das mit PHP?
Programmieren eben :roll:
Es gibt keine Funktion
PHP:
$url = eierlegende_wollmilchsau($rel_path);
in PHP. Da kann dir maximal Brain 2.0 helfen, falls du das installiert hast.
Hab bis jetzt noch nie etwas in der richtung gemacht und weiß grad nich ein noch aus :ugly:
Wenn du PHP nicht beherrscht, kann man dir auch nicht helfen. Es gibt viele Möglichkeiten da ran zu gehen. Von einfachem zeichenweisem Parsen bis hin zu komplexen Operationen mit RegExps. Das kannst du machen, wie du willst. Voraussetzung is aber, dass du programmieren kannst.
 
Hab ich was verpasst? 8O

Hab keinen schimmer warum du jetzt so pampig wirst aber programmieren tue ich schon seid einigen Jahren.

Meine Frage bezog sich eher darauf wie ich soetwas:
PHP:
/blabla/dl.php?ID=28881438&sec=0766a2371b7966622cc25e646a867cc2
In einen brauchbaren Link umwandle. Für mich hat das nichts damit zu tun ob ich programmieren kann oder nicht.
 
Hab keinen schimmer warum du jetzt so pampig wirst aber programmieren tue ich schon seid einigen Jahren.
Sollte eigentlich nicht pampig rüberkommen :-?
Für mich hat das nichts damit zu tun ob ich programmieren kann oder nicht.
Mit was hat es dann etwas zu tun?
Du musst eben alle Fälle durchgehen.

Beispiele:







  • (ewig fortsetzbar)
Das is reine Hirnschmalzarbeit. Und das ist nun mal, was "Programmierung" is.
 
PHP:
<?php
$url = 'https://www.DOMAIN.de';

$page= file_get_contents($url);

preg_match("^(<img)(.*)(>)^",$page,$out);
preg_match("^(src=)(.*)(.gif)^",$out[2],$outt);

 	  
	  $picadress = $url.$outt[2].$outt[3];
	  $picadress2 = $url."/".$outt[2].$outt[3];
	  
	  $replaced = ereg_replace("/","_",$outt[2].$outt[3]);

	  
	  file_put_contents(date("Y_m_d_").$replaced,file($picadress));
	  file_put_contents(date("Y_m_d_")."2".$replaced,file($picadress2));
?>

Nicht getestet dürfte aber eventuell so mit bisschen veränderung klappen.
Dient nur als Beispiel!
 
ist ne kleine Ecke komplexer ;)
da es zb noch das baseHref-Tag gibt, aber ich denke das sollte der Ersteller alles selbst schaffen
 
Die Leckerlis sind ja erst document.write() und documente.createElement() 8)