header: application/octet-stream Zeilenumbruch ungewollt
emmi
- php
0 emmi0 Der Martin0 emmi
Hallo Zusammen,
ich habe mir einen kleinen downloadbereich gemacht.
die funktion zum ausliefern einer datei schaut so aus:
header("Content-Type: application/octet-stream");
$save_as_name = basename($filelist[$download]);
$save_as_name = basename($filename);
header("Content-Disposition: attachment; filename=\"$save_as_name\"");
readfile($filename);
exit();
seltsam ist, dass an jede datei am anfang ein 0D0A (Zeilenumbruch) angehängt wird.
eine textdatei die nur eine zeile hat bekommt somit eine zweite zeile und verschiebt den inhalt um eine leere zeile nach unten.
weiß jemand warum das so ist oder was ich da falsch mache? ich kann es mir nicht erklären.
danke für eure hilfe
vg
emmi
sorry ,die zeile
$save_as_name = basename($filelist[$download]);
ist zuviel. die ist alt. hat aber nichts mit dem problem zu tun. ... leider
Hi,
seltsam ist, dass an jede datei am anfang ein 0D0A (Zeilenumbruch) angehängt wird.
das ist vermutlich die Leerzeile, die in deinem Script nach dem abschließenden ?> steht.
Deshalb wird oft empfohlen, das abschließende ?> wegzulassen, wenn danach nicht ausdrücklich noch eine Ausgabe an den Client gewünscht ist.
Ciao,
Martin
danke martin. das war der grund.
Hallo Zusammen,
ich habe mir einen kleinen downloadbereich gemacht.
die funktion zum ausliefern einer datei schaut so aus:
header("Content-Type: application/octet-stream");
$save_as_name = basename($filelist[$download]);
$save_as_name = basename($filename);
header("Content-Disposition: attachment; filename="$save_as_name"");
readfile($filename);
exit();
>
> seltsam ist, dass an jede datei am anfang ein 0D0A (Zeilenumbruch) angehängt wird.
> eine textdatei die nur eine zeile hat bekommt somit eine zweite zeile und verschiebt den inhalt um eine leere zeile nach unten.
>
> weiß jemand warum das so ist oder was ich da falsch mache? ich kann es mir nicht erklären.
>
> danke für eure hilfe
> vg
> emmi