Bug #53006 [Fbk->Opn]: stream_get_contents offset max is 1165
| From: | poulpillusion at free dot fr | Date: | Fri, 08 Oct 2010 23:33:04 +0000 |
| Subject: | Bug #53006 [Fbk->Opn]: stream_get_contents offset max is 1165 | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-155044@lists.php.net to get a copy of this message | ||
Edit report at http://bugs.php.net/bug.php?id=53006&edit=1
ID: 53006
User updated by: poulpillusion at free dot fr
Reported by: poulpillusion at free dot fr
Summary: stream_get_contents offset max is 1165
-Status: Feedback
+Status: Open
Type: Bug
Package: Streams related
Operating System: Linux Aptosid
PHP Version: 5.3.3
Block user comment: N
New Comment:
Well in fact I realized something strange...
It sometimes works here. But most of the time it does not. I hit Ctrl+F5
to refresh and in about 10% cases I get the data... but in 90% cases it
simply outputs nothing.
It seems to depend on the file I am trying to get :
- the limit is 1165 for http://www.nocturne-jdr.fr/toto.txt
- the limit is 1189 for
http://peach.themazzone.com/durian/movies/sintel-1024-surround.mp4
Maybe these limits are not the ones you experience... maybe you should
try raising them ?
Concerning wireshark, it's not a tool I am really used to... Did my dump
help you anyway ? You can open it with wireshark to examine it... But if
it does not help, maybe you coult send me a link to some
tutorial/documentation ?
Thank you.
Previous Comments:
------------------------------------------------------------------------
[2010-10-08 02:29:36] cataphract@php.net
Your script works here. Outputs:
«9
320
32»
As to the wireshark log, what I need is not the data of the
conversation, it's the packets that came and their size. Only that can
shed light on this problem.
------------------------------------------------------------------------
[2010-10-08 00:31:33] poulpillusion at free dot fr
Here is a sample code you can paste into a PHP file :
<?php
// this does not work : 1166 seems to big... try with 1165 and it will
work !
$url = 'http://www.nocturne-jdr.fr/toto.txt';
$handle = fopen($url, 'rb');
echo stream_get_contents($handle, 8, 1166);
?>
I dumped the conversation with wireshark but I don't know which parts
are the "relevant" ones... Here it is :
http://www.nocturne-jdr.fr/capture.log
------------------------------------------------------------------------
[2010-10-07 14:05:01] cataphract@php.net
You need to give more details:
* The actual url you're using.
* If it's a remote file, a wireshark dump of the conversation would also
be useful (please trim it to only the relevant parts!).
------------------------------------------------------------------------
[2010-10-07 01:09:19] poulpillusion at free dot fr
Description:
------------
In the stream_get_contents function, the offset parameter's max value is
1165. Any upper value will block the script.
Test script:
---------------
// This will work...
$handle = fopen($url, 'rb');
echo stream_get_contents($handle, 8192, 1165);
// This will not work... the script will wait forever.
$handle = fopen($url, 'rb');
echo stream_get_contents($handle, 8192, 1166);
Expected result:
----------------
I expect this function not to wait if $offset + 8192 < $filesize
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/bug.php?id=53006&edit=1