ID:               38826
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
-Status:           Open
+Status:           Feedback
 Bug Type:         Streams related
 Operating System: WinXP
 PHP Version:      5.1.6
 New Comment:

And the URL "http://localhost/256as.file"; does work for you in a
browser and using telnet, right?


Previous Comments:
------------------------------------------------------------------------

[2006-09-14 21:53:53] [EMAIL PROTECTED]

Yes, the var_dump going to your file remotely does:
string(256) "aaaaaaaaaaaaa......
It is your fle that I copied to make my 256as.file. 

But when I copy your file under my Apache and do file_get_contents to
it I get the empty string. 

So I can only suppose that it is somehow something to do with my local
5.1.6. PHP CLI talking to my local Apache with 5.1.6 underneath, on
WinXP.

------------------------------------------------------------------------

[2006-09-14 17:37:41] [EMAIL PROTECTED]

Does this work for you:
var_dump(file_get_contents("http://tony2001.phpclub.net/dev/tmp/info.xsd";));

?


------------------------------------------------------------------------

[2006-09-14 17:02:02] [EMAIL PROTECTED]

Sorry, I didn't mean to be rude with "not sure how seriously" - it
looked like a boilerplate text and I thought it might be an automated
response. And because it was just the size of the file that mattered I
didn't think to put a copy of it in the defect; but I should have made
that clearer.

Anyway, I am baffled. When I use file_get_contents to go for your file
remotely it works fine, but if I put your file on my machine and go for
it with localhost it goes wrong. I am running Apache/2.0.59 (Win32)
PHP/5.1.6, by the way. 

I have got two files, one with 255 a's and one with 256 - which is the
file that you put up. CURL gets correct contents and byte counts,
file_get_contents does not. The Apache access log claims it is
returning 255 and 256 bytes each time, though.

I am running it with CLI.

Here is my test now, comparing CURL with file_get_contents:

<?php

$buf = file_get_contents('http://localhost/255as.file');
echo strlen($buf) . "\n";

$buf = file_get_contents('http://localhost/256as.file');
echo strlen($buf) . "\n";

$curl_handle=curl_init();
curl_setopt($curl_handle,CURLOPT_URL,'http://localhost/255as.file');
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,true);
$buf = curl_exec($curl_handle);
curl_close($curl_handle);
echo strlen($buf) . "\n";

$curl_handle=curl_init();
curl_setopt($curl_handle,CURLOPT_URL,'http://localhost/256as.file');
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,true);
$buf = curl_exec($curl_handle);
curl_close($curl_handle);
echo strlen($buf) . "\n";

?>

It relies on the two files 255as.file and 256as.file being in the local
server's docroot.

The output I get is:

255
0
255
256

The Apache access log says:

127.0.0.1 - - [14/Sep/2006:17:43:31 +0100] "GET
/MyService/AddressBook/255as.file HTTP/1.0" 200 255
127.0.0.1 - - [14/Sep/2006:17:43:31 +0100] "GET
/MyService/AddressBook/256as.file HTTP/1.0" 200 256
127.0.0.1 - - [14/Sep/2006:17:43:32 +0100] "GET
/MyService/AddressBook/255as.file HTTP/1.1" 200 255
127.0.0.1 - - [14/Sep/2006:17:43:32 +0100] "GET
/MyService/AddressBook/256as.file HTTP/1.1" 200 256

If you were able to point me to the right routine in PHP I could add a
bit of diagnostic code and rebuild...or if I can help in any other way.


My colleague, who has a very similar set up (but running 5.1.4) sees
the same thing on her machine, completely independent of mine, by the
way.

------------------------------------------------------------------------

[2006-09-14 12:49:15] [EMAIL PROTECTED]

>I am not sure how seriously to take the response

Well, I'm not sure either how to take a report with "http://localhost";
as a test data.

------------------------------------------------------------------------

[2006-09-14 12:48:19] [EMAIL PROTECTED]

Please upload the file somewhere and put the link here.
Make sure you're looking into the source of the page or even better try
it with CLI.
I cannot reproduce anything like that:
var_dump(file_get_contents("http://tony2001.phpclub.net/dev/tmp/info.xsd";));
works like a charm with any PHP version I have here (and I have a lot
of them).

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/38826

-- 
Edit this bug report at http://bugs.php.net/?id=38826&edit=1

Reply via email to