Im not sure if this is related, but using fopen or fsockopen to retrieve a document that sends a redirect header (in this case a 302 Moved Permanently trying to pull the slashdot headlines rdf/xml file) fails. Worked fine in 4.2.3. This is the case with 4.3.0pr1 and CVS for a little while now.
Regards Mike Robinson > -----Original Message----- > From: Ilia A. [mailto:[EMAIL PROTECTED]] > Sent: Friday, October 11, 2002 10:11 PM > To: [EMAIL PROTECTED]; Wez Furlong > Subject: [PHP-DEV] Streams Problems > > > There are 3 streams related problems I've come across today > while using CVS > code. First it seems that sending of binary data in excess of > 8k causes some > of the data not to be sent. This can be easily replicated > with the following > test code: > <?php > $test_binary_file = file_get_contents("file_name"); > $length = strlen($test_binary_file); > > $fs = fsockopen("host", "port"); > $written = fwrite($fs, $test_binary_file) > fclose($fs); > ?> > > According to fwrite() output all the data has been written, > since $length > equals to $written. However, using a network monitoring tool, > Ethereal I was > able to see that only about 8k worth of data was sent. This > was confirmed by > another script that set on the receiving end. > > Another problem I've come across is about reading from > sockets that do no > terminate connection. Using the following script I've connected to a > webserver, in php 4.2.3 the script returns immediately after > the last byte > has been read. In CVS the script wait about 10 seconds after > all the data has > been read before finally terminating (timing out?). The > example script is > below: > <?php > $fp = fsockopen("host", 80); > fwrite($fp, "GET / HTTP/1.1\r\nHost: host\r\n\r\n"); > while ( ($data = fgets($fp, 1024)) ) { > echo $data; > } > flose($fp); > ?> > > The third problem is coredump that is fairly easily replicate > with the script > below: > <?php > $fp = fsockopen("localhost", 80); > fputs($fp, "GET / HTTP/1.0\r\n\r\n"); > fgets($fp, 1000000000); > ?> > > Ilia > > -- > PHP Development Mailing List <http://www.php.net/> > To unsubscribe, visit: http://www.php.net/unsub.php > -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php