readfile() On Fri, 4 Oct 2002, christian haines wrote:
> hi all, > > i have successfully created a download script to force a user to > download, however attempting to download large files causes an error > saying that the file cannot be found. > > my code > > header("Cache-control: private"); > header("Content-Type: application/force-download; name=\"$file\""); > header("Content-Disposition: attachment; filename=\"$file \""); > header("Content-Transfer-Encoding: binary"); > header("Content-Length: $content_length"); > $fp = fopen($file_fullpath,"r"); > fpassthru($fp); > fclose($fp); > < my code > > this is a memory issue in the php.ini i.e. memory_limit = 8M then the > largest file i can download is 8M > > is there anyway to "force" a download without having to use the system > hungry fpassthru function? > > this is driving me nuts so any help would be greatly appreciated > > cheers > christian > > ps i read the following at php.net fpassthru man page but could not make > sense of it (it appears to be some kind of solution) > > > "fpassthru() works best for small files. In download manager scripts, > it's best to determine the URL of the file to download (you may generate > it locally in your session data if you need so), and then use HTTP > __temporary__ redirects (302 status code, with a "Location:" header > specifying the effective download URL). > This saves your web server from maintaining PHP scripts running for long > times during the file downloadn and instead the download will be managed > directly by the web server without scripting support (consequence: less > memory resources used by parallel downloads)..." > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php