Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Bilderdownload durch PHP





Frage

Hallo, ich möchte, dass ich beim klick auf einen Link zu einer PHP Datei, welche ein Bild ausgeben soll, dass Bild nicht geöffnet wird, sondern gedownloadet wird. Ich habe inzwischen rausgefunden, wie man das mit dem Download hinbekommt: [code]header("Content-Type: application/octet-stream"); header("Content-Disposition: attachment; filename=\"$bildername\"");[/code] Mein Problem ist jetzt, dass ich das Bild über eine URL von einem anderen Server (der natürlich von mir ist) runterladen will und das Bild dann über die PHP Datei ausgebe. Dazu dachte ich mir [code]readfile("http://www.urlzumeinemserver.de//".$bildername);[/code] könnte klappen. Leider lade ich dann immer nur eine Datei von 0KB runter. Vielleicht kann mir jemand sagen, wie das richtig geht. Danke schonmal Luac.

Antwort 1 von Supermax

Ist auf deinem Server (wo der o.g. Code läuft) die Option "allow_url_fopen" aktiviert? Viele Hoster deaktivieren diese aus Sicherheitsgründen.

Antwort 2 von luac.

Hi,
die Option "allow_url_fopen" ist aktiviert.

luac

Antwort 3 von luac.

Die Frage die sich mir inzwischen stellte ist, ob man mit readfile auch externe Dateien abrufen kann, oder nur welche, die Lokal vorhanden sind.

Luac

Antwort 4 von Supermax

readfile() verwendet meines Wissens nach dieselben Handler wie auch fopen() etc., d.h. wenn fopen() den Zugirff auf externe Dateien unterstützt, sollte auch readfile() dies unterstützen.

Vielleicht schlägt der Zugriff auf die entfernte Datei ja aus einem anderen Grund fehl, etwa ein fehlerhafter Dateiname (doppelter /).

Antwort 5 von luac.

Hallo,
ich habe eben per Zufall die Lösung für mein Problem gefunden.
Man muss im header noch die Dateigröße festlegen:
header("Content-Length: ".filesize($file));


Das wärs.

Schöne Festtage

Luac

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: