Mailinglisten-Archive |
On Sunday 10 August 2003 14:40, Andreas Stagl wrote: > Und ob ich den Headern, die ich via header() generiere, noch zusätzlich ein > \n oder \r\n am Ende spendieren muss, hängt vermutlich davon ab, ob der > header()-Befehl automatisch was derartiges anhängt, oder nicht. Schau ich > mir mein zuvor gepostetes Test-Script nämlich via Telnet an, scheint es ja > so zu sein, das der header()-Befehl ohne zusätzliches \n oder \r\n trotzdem > einen Zeilenumbruch erzeugt... füg ich allerdings einen manuellen > Zeilenumbruch am Ende des header()-Befehls an, werden trotzdem keine 2 > Zeilenumbrüche sondern lediglich einer im Telnet angezeigt. Wir nutzen hier OpenSource und nicht Microsoft ASP, also schauen wir uns doch mal den PHP-Source, genauer an ;-) Zunächst braucht man die Definition der PHP_FUNCTION header[1], da sehen wir[2], dass wir uns die sapi_header_op Funktion ansehen mussen. Dann lxr ist die mit zwei Klicks gefunden[3] schauen wir uns jene weiter an, sehen wir[4], dass "trailing spaces, linefeeds and carriage-returns" abgeschnitten werden. Das sagt uns, dass \r und \n im header String unnötig sind. > Ein weiteres Phänomen ist, dass in der Telnet-Ansicht die Header nicht in > der Reihenfolge ankommen, wie sie vom PHP Skript abgeschickt werden, obwohl > ich kein Output-Buffering oder Compression verwende ;o( Verschiedene header werden Teilweise über bestimmte Handler an den Server übergeben, ansosnten solte FIFO (First in first out) gelten... johannes, Der sich gerade über seinen Source ärgert ("Welcher Idiot hat das gemacht") [1] http://lxr.php.net/source/php4/ext/standard/head.c#42 [2] http://lxr.php.net/source/php4/ext/standard/head.c#54 [3] http://lxr.php.net/source/php4/main/SAPI.c#494 [4] http://lxr.php.net/source/php4/main/SAPI.c#539
php::bar PHP Wiki - Listenarchive