Schönen guten Tag.
Wie der Titel schon sagt möchte ich ein Bild von einer mit einem Login geschützten Seite via PHP Scrip herunter laden und in einem bestimmten Ordner Speichern.
Bevor jetzt irgendjemand mit Bilderklau um die Ecke kommt: Das ganze läuft via xampp nur auf meinem Rechner und ist von Außerhalb nicht zu erreichen. Ich habe auch einen Login für die Seite von der ich das Bild will. Ich bin nur zu faul mir jedes Bild einzeln aufzurufen und zu speichern, da es schon einige mehr sind die ich herunter laden möchte.
Ich hab es bereits mit file_get_contents() + file_put_contents() versucht, klappt soweit auch. Nur das immer das gleiche bild herunter geladen wird. Eines in dem steht das ich mich Registrieren soll um das eigentliche Bild zu sehen. Jetzt wollte ich wissen wie ich mich mit dem PHP Script einloggen kann um das eigentliche Bild herunter laden zu können.
wenn das komplett lokal läuft, lad die Bilder einfach aus dem lokalen Dateisystem an die Stelle wo du sie haben willst?
Ansonsten wende dich einfach an den Webmaster der Webseite wo die Bilder liegen. Man wird dort sicher gern ein Paket mit den gewünschten Bildern als ZIP-Datei zusammenstellen, gegen angemeßene Vergütung.
Alles andere könnte illegal sein nach §95a Urheberrechtsgesetz. Ich bin kein Jurist, bin aber lieber zu vorsichtig als nicht vorsichtig genug.
Technisch möglich ist das natürlich, aber ich würde dir dringend nahe legen, eine rechtlich absolut saubere Methode vorzuziehen.
Danke erstmal für die Schnelle Antwort.
An den Webmaster wenden wird da nichts bringen, da ich sowieso schon einen Monatlichen Beitrag Zahle und es sich um ein paar Tausend Bilder handelt.
Ich hab auch schon etwas mit cURL herum experimentiert, allerdings auch ohne Erfolg. Ich muss aber dazu sagen das ich mich damit nicht besonders gut auskenne.
Komplizierter könnte es werden, wenn die Authentifizierung einprogrammiert wurde. Dann wirst du in der Regel über Cookies & Session einmal eingelogt (in der Regel über eine login.php oder ähliches) und in der Session gespeichert, dass du eingelogt bist. Das kannst du aber auch über Curl „simulieren“
Etwas einfacher/konfortabler kannst du es evtl über so genannte „Webbrowser-Simulationen“ für PHP nutzen. Z.b. Guzzle ( http://guzzlephp.org/ )
wie in einer der Antworten bereits beschrieben geht soetwas über CURL - man simuliert mit PHP quasi einen Browserzugriff und „tut so“ als wenn sich ein Mensch einloggt.
da fehlen ein paar Infos um wirklich helfen zu können. Wie genau ist denn die Seite geschützt, htaccess einfache PW Eingabe, Session?
Auch verstehe ich das Problem nicht ganz, wenn doch die Dateien auf dem eigenen Webserver laufen wäre es doch viel einfacher die Bilder direkt von der Platte zu holen oder den Login einfach abzuschalten.
Hmm, ich verstehe jetzt den Sinn dahinter nicht so ganz. Wenn das alles auf XAMPP läuft, hast du die Dateien doch sowiso schon auf deiner Festplatte und kannst sie ganz normal im Explorer an den gewünschten Ort kopieren.
Oder ist das ein Experiment und es geht nur drum „ob man es hinbekommt“?
Also wenn die Webseite Passwortgeschützt ist, musst du dich natürlich irgendwie authentifizieren.
Kannst du evtl. den Quelltext vom Loginformular schreiben? Dann könnte man u. U. mal schauen, was da für Variablen verwendet werden, bzw. was da so im Hintergrund abläuft.
Wenn es ein eigener Passwortschutz ist, musst Du rausfinden, welches Target das Login-Formular aufruft und dem die passenden POST/GET-Variablen übergeben.
Alles ziemlich vage, da ein greifbares Beispiel fehlt. Aber vielleicht hilft es trotzdem weiter.