Mailinglisten-Archive |
Hans Theo Mislisch schrieb
> Also ich habe untenstehenden Headerblock auprobiert (NS4.72),
> der funktioniert nicht richtig bzw. garnicht.
> Vor allem kann er die Dateigröße während dem Download
> nicht anzeigen wie das bei header(Location: ) der Fall ist.
>
> Woran liegt denn das mit der fehlenden Größe? Müsste man
> die vorher feststellen und dann als Parameter übergeben?
> Wenn ja wie?
Du willst das während des Downloads ein korrekter "Fortschrittsbalken"
angezeigt wird ( x KB von y KB)? Das basiert IMHO auf dem
Content-Length-Header. Wenn die Datei auf Deinem Server liegt, kannst
Du mit filesize die Größe ermitteln und mal versuchen den
Content-Length-Header manuell zu setzen (ungetestet).
> header("Content-type: application/x-octetstream");
heißt eigentlich application/octet-stream
> header("Content-disposition: attachment;
> filename=http://www.foobar.de/.$dl");
Da steht doch extra filename= und nicht url=. Wenn Der Client die
optionale Filename-Angabe beim Content-Dispositon-Header beachtet, dann
kann man hier den Dateinamen vordefinieren, unter dem die Datei
abgespeichert werden soll. Ansonsten wird der Browser beim
Abspeichern-Dialog meist den Namen des Download-Scriptes als Dateinamen
vorschlagen.
> readfile("http://www.foobar.de/.$dl");
Die Datei liegt nicht auf Deinem Server? Und hast Du wirklich einen
Punkt vor dem Dateinamen? Der Punkt fungiert nur außerhalb von Strings
als Verknüpfungsoperator.
Guido Haeger
php::bar PHP Wiki - Listenarchive