#27024 [Csd->Bgs]: fopen
ID: 27024
Updated by: magnus@php.net
Reported By: mypass2002 at mail dot ru
-Status: Closed
+Status: Bogus
Bug Type: HTTP related
Operating System: Windows XP 5.1 build 2600
PHP Version: 4.3.5RC1
New Comment:
Since it wasn't a bug in PHP, leave as bogus.
Previous Comments:
------------------------------------------------------------------------
[2004-01-27 10:05:48] mypass2002 at mail dot ru
well whatever... i guess you're right, but i still have to migrate to
some other function, oh and 10x anyway :)
------------------------------------------------------------------------
[2004-01-24 19:20:10] pollita@php.net
The HTTP/1.1 protocol specifies a maximum length for GET queries of
2048 bytes. PHP will, however, attempt to send queries with longer
lengths if you try to use them. Whether the remote webserver will
honor the query is entirely up to the remote server. Most likely this
is the case here, you've attempted to request a longer URL than the
tareget webserver supports and it's responded with a failure message.
Take a look at $http_reponse_headers after the fopen() attempt and you
should see the 5xx error produced by the remote server.
If you need to send more data than the remote webserver will accept in
a GET request, consider sending a POST request (which will take a
little more work on your part). You can use example 2 provided on
http://www.php.net/stream as a starting point.
P.S. - That code snipet wouldn't actually work without the http://
preamble. It'd assume you wanted a local file named
www.foo.com?whatever....
------------------------------------------------------------------------
[2004-01-23 16:22:28] mypass2002 at mail dot ru
also tryed on php 4.3.4 NOT 4.3.2
------------------------------------------------------------------------
[2004-01-23 14:37:36] mypass2002 at mail dot ru
Description:
------------
Apache/1.3.29 (Win32) PHP/4.3.5RC2-dev running...
also tryed on 4.3.2
fopen("www.foo.com?data=safasfafa...64kb...dgdfg", "rb")
fails, because it's too much data, works well with less data
PHP.INI changes:
addes the lines for php_debugger
increased memory+time+input
changed docroot
Reproduce code:
---------------
$url="action=UPDATEROW&&updaterow=".urlencode(serialize($row_send));
m_get_url($url);//fopen ($baseurl.$url)
functio m_get_url($url)
{
global $otherurl;
$url2=$otherurl."?".$msg;
//dyes when opening with LOTS of data ... like more than 64kb
$a=fopen($url2,"rb") or die("...")
....
fclose($a);
}
Expected result:
----------------
to work with "infinite" paramerter data send
Actual result:
--------------
Warning:
fopen(http://localhost/download.php?action=UPDATEROW&&updaterow=a%3A14%....
in c:\www\upload.php on line 44
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=27024&edit=1
Thread (5 messages)