note 74765 added to function.stream-wrapper-register

From: Date: Thu, 26 Apr 2007 16:18:13 +0000
Subject: note 74765 added to function.stream-wrapper-register
Groups: php.notes 
Request: Send a blank email to php-notes+get-125894@lists.php.net to get a copy of this message
Use caution with writing code that may use stream wrappers with fread, as fread behaviour is 'inconsistent' with normal file operations because of the 8192 bytes internal buffer used by PHP ( >= 5.0.5 IIRC ). ie: fread($filehandle, filesize($filename)) will not work correctly if the file is larger than 8KB, it will only get you the first 8192 bytes. Also, it seems that: fread($filehandle, 4096) will still give you 8KB (if the file is larger than 8KB) as 8192 bytes is always passed to stream_read as count. This makes it somewhat impossible to just 'drop in' a stream where normally a file would be used without taking special care. Yes, it IS mentioned in the documentation here if you read it really well, but I for one spent some time scratching my head over it, and looking at the bug tracker, I am not the only one. The dev's say this inconsistancy is a feature though, even if it does make stream wrappers pretty much useless 'out of the box'. file_get_contents and stream_get_contents seem to work ok though. ---- Server IP: 194.109.193.76 Probable Submitter: 85.147.240.242 ---- Manual Page -- http://www.php.net/manual/en/function.stream-wrapper-register.php Edit -- https://master.php.net/note/edit/74765 Del: integrated -- https://master.php.net/note/delete/74765/integrated Del: useless -- https://master.php.net/note/delete/74765/useless Del: bad code -- https://master.php.net/note/delete/74765/bad+code Del: spam -- https://master.php.net/note/delete/74765/spam Del: non-english -- https://master.php.net/note/delete/74765/non-english Del: in docs -- https://master.php.net/note/delete/74765/in+docs Del: other reasons-- https://master.php.net/note/delete/74765 Reject -- https://master.php.net/note/reject/74765 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#125894) next »