Nurmalso nebenbei gefragt: Ist false ein passender Default für einen Integer?
Nun, ich mache den Vergleich
if (false === $z )
nicht grundlos typsicher…
Typsicher heißt daß man bei den Typen bleibt die man deklariert hat. Und so wie es aussieht wäre $z bei Dir kein bool sondern ein integer. Wenn man hier überhaupt die Typisierung ins Spiel bringen sollte.
Was den IE betrifft: Wie verhält der sich denn wenn er bei einem Status != 200 einen Content mit Length < 512 bekommt? Hast Du das mal getestet?
MFG