#16303 [Opn->Bgs]: file() MUCH faster than fsockopen() + fgets() but we should be able to set th

From: Date: Fri, 07 Feb 2003 04:24:15 +0000
Subject: #16303 [Opn->Bgs]: file() MUCH faster than fsockopen() + fgets() but we should be able to set th
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-32368@lists.php.net to get a copy of this message
ID: 16303 Updated by: iliaa@php.net Reported By: jpaulomf@terra.com.br -Status: Open +Status: Bogus Bug Type: Feature/Change Request Operating System: Linux PHP Version: 4.1.1 New Comment: Try using fread() and a large buffer, something like 20000-50000 bytes. This will reduce the number of PHP operations that occur and probably be much closer file() performance. As for your request of adding headers to file(), readfile() and so on it is simple not practical as it would break many existing scripts that rely on the lack of headers. Previous Comments: ------------------------------------------------------------------------ [2002-03-28 00:58:39] jpaulomf@terra.com.br AND: $file = file("http://myqddress.com/foo.htm"); $file = readfile("http://myaddress.com/foo.htm"); and what I told you before was that the other options we have to send our own defined headers(fsockopen) are too slow. What I'm asking is to have the ability to set the headers of file(), readfile() and fopen(). ------------------------------------------------------------------------ [2002-03-28 00:40:44] jpaulomf@terra.com.br We should able to set the headers sent by file() and fopen-wrappers when the requests are made to outside, like: $file = fopen("http://myaddress.com/blah.php?op=po"); ------------------------------------------------------------------------ [2002-03-27 09:23:39] wez@php.net I'm not quite sure what you are asking for here; could you be more specific? ------------------------------------------------------------------------ [2002-03-27 01:55:45] jpaulomf@terra.com.br When tring to open a file for remote edition like: $file = file("http://myaddress.com/users.php?op=xz&f=w"); Whe can't set the headers. And why one would like to? 1 - Readfile throws the content to std out. 2 - fsockopen takes too much time to do the same: $sck = fsockopen($host,$port,&$errno,&$errstr); fputs($sck,$request); while(!feof($sck)) { $result .= fgets($sck,128); } This will take about 300-400% more time compared with file() or readfile(). (WHY??? Ive tested the int lenght of fgets() with 2,32,64,128...4096 and it is still very slow: filesizes > 400kb ~ 90-120 sec (@ 256k) when file() does the same in ~ 20-30 sec). I've not tested cURL yet, but I think PHP should support this w/o 3 parties.. Thanks ppl! ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=16303&edit=1

« previous php.bugs (#32368) next »