This is a discussion on fpassthru from remote URI within the PHP Language forums, part of the PHP Programming Forums category; Hi! I have a PHP page "transfer.php" and a MySQL db. The client should download binary files ...
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
Hi!
I have a PHP page "transfer.php" and a MySQL db. The client should download binary files by "http://.... /transfer.php?ID=xx", where the ID is searched in the db and the real URI is read. In the transfer.php the "Content-Encoding" and the "Content-Disposition" header fields are set. Then I do a fpassthru() or a readfile(), for example: readfile ("http://www.someserver.com/somefile.zip"). This works fine - theoretically... The problem is, that it takes a long time befor the download dialog appears in the browser. I tried readfile, I tried fpassthru, I tried "fopen ('http://...')" with an "until feof"-loop. The script or the server first downloads the whole file from the URL, and then passes the output buffer to the client :-( Ah, I also tried ob_flush() and flush() ... no gain :-( Is there a way to send the file data to the client while reading the URL? I use PHP 4.3.7 and the CGI Gateway (Xitami in my test environment). |
|
|||
|
stefan.machwirth@debeka.de wrote:
> Is there a way to send the file data to the client while reading the > URL? I use PHP 4.3.7 and the CGI Gateway (Xitami in my test > environment). fopen/fsockopen should have worked. Code? -- Daniel Tryba |
|
|||
|
Daniel Tryba wrote:
>>Is there a way to send the file data to the client while reading the >>URL? I use PHP 4.3.7 and the CGI Gateway (Xitami in my test >>environment). > > > fopen/fsockopen should have worked. Code? The problem is located. Not PHP buffers cause the delay, but Xitami. I could simulate it with a "echo $somewhat; flush(); sleep (2);"-loop. Buffering was disabled in php.ini. These delayed script also did not transfer line by line to the browser with Xitami. But in my real environment with Apache it worked. I found some hints about the Xitami buffering in other newsgroups and boards. Unfortunately it is not editable :-( Don't understand this strategy. Xitami is very tiny and excellent for a small developing environment. But if they don't improve it I would have found the first limitation... :-/ Stefan |