Ist das ein Bug?
Tom
- php
0 Vinzenz Mai0 Tom
0 Christian Seiler
Hello,
hat von Euch schon mal einer bei der PHP-Version 5.2.0-8 ein fread() mit der Längenangabe 0 durchgeführt?
Da kommt neuerdings die Fehlermeldung
Warning: fread() [function.fread]: Length parameter must be greater than 0 in ...
Seit wann ist das so?
MMn war die Funktion früher eigensicher und hat das Lesen von 0 Bytes zugelassen.
Oder irre ich mich da jetzt?
Hat jemand mal schnell eine 4er PHP-Version im Zugriff, um das da auszuprobieren?
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Hallo
hat von Euch schon mal einer bei der PHP-Version 5.2.0-8 ein fread() mit der Längenangabe 0 durchgeführt?
Warning: fread() [function.fread]: Length parameter must be greater than 0 in ...
Seit wann ist das so?
scheint schon länger so zu sein, siehe http://www.php.net/manual/de/function.fread.php#48005
Freundliche Grüße
Vinzenz
Hello Vinzenz,
Hallo
hat von Euch schon mal einer bei der PHP-Version 5.2.0-8 ein fread() mit der Längenangabe 0 durchgeführt?
Warning: fread() [function.fread]: Length parameter must be greater than 0 in ...
Seit wann ist das so?
scheint schon länger so zu sein, siehe http://www.php.net/manual/de/function.fread.php#48005
Danke.
Damit hatte ich nicht gerechnet, denn ich schließe mich der Meinung von drane an.
Das beantwortet auch gleich die Frage von Christian, warum ich 0 Bytes lesen will.
Das ergibt sich gelegentlich so aus dem Programmfluss und es ist in allen mir bekannten Hochsprachen auch erlaubt. Wenn das Verhalten der Funktion so sein soll, dann gehört die Einschränkung als normel Beschreibung auch ins Manual. UCNs sind immer sehr nützlich, aber eben nicht die offizielle Beschreibung für normales Verhalten.
Man muss wirklich ein gewaltiges if-else-Kontrukt dafür bauen, um diese "Macke" aufzufangen.
Das ist aber bei den PHPlern scheinbar so üblich, dass die Funktionen und Konstrukte nicht eigensicher gebaut werden.
ein foreach() fällt ja auch auf die Schnauze, wenn das Argument kein Array ist, anstatt einfach nichts zu tun.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Hallo Tom,
Da kommt neuerdings die Fehlermeldung
Neuerdings? Im PHP-CVS ist das seit Januar 2004 so drin, und zwar
* im damaligen PHP 4.3 Branch
* im damaligen HEAD, aus dem dann PHP4.4 wurde.
Sprich: Seit PHP 4.3.5 (März 2004) ist das nicht mehr erlaubt.
Warum willst Du überhaupt 0 Bytes lesen?
Viele Grüße,
Christian