online 1
gast (50)

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

Skripte(PHP,ASP,Perl...)Skripte(PHP,ASP,Perl...)

Fragevon luac. vom 09.12.2019, 15:25 Options

Bilderdownload durch PHP

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:
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"$bildername\"");

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
readfile("http://www.urlzumeinemserver.de//".$bildername);

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 schreiben

Antwort 1 von Supermax vom 09.12.2019, 15:32 Options

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. vom 09.12.2019, 19:34 Options

Hi,
die Option "allow_url_fopen" ist aktiviert.

luac

Antwort 3 von luac. vom 09.12.2019, 19:35 Options

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 vom 09.12.2019, 19:49 Options

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. vom 23.12.2019, 23:46 Options

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

Ähnliche Themen

PHP 5 läuft nicht
Phillip  17.02.2007 - 129 Hits - 1 Antwort

PHP - Alternative zum echo() ???
php_freak90  01.03.2007 - 110 Hits - 2 Antworten

Problem mit PhP
Firefighter-nb  16.04.2007 - 150 Hits - 1 Antwort

systemleistung 100 prozent
burkhardus  28.04.2007 - 120 Hits - 1 Antwort

html file zu php
Mirco151  04.07.2007 - 171 Hits - 1 Antwort

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026