phpbar.de logo

Mailinglisten-Archive

[php] Alle Jahre wieder... Datei zum Download anbieten

[php] Alle Jahre wieder... Datei zum Download anbieten

Johannes Schlueter schlueter at phpbar.de
Son Aug 10 16:02:28 CEST 2003


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