Edit report at https://bugs.php.net/bug.php?id=43306&edit=1
ID: 43306 Comment by: hoangdangal at yahoo dot com Reported by: d dot tas40 at chello dot nl Summary: File Download Problem. Status: No Feedback Type: Bug Package: Scripting Engine problem Operating System: Windows XP PHP Version: 5.2.5 Block user comment: N Private report: N New Comment: let try this , i think it's ok $file = @fopen($download_location,"rb"); if($fopen != NULL) { header("Pragma: public"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Cache-Control: public"); header("Content-Description: File Transfer"); header("Content-Type: application/force-download",FALSE); header("Content-Type: application/x-zip-compressed",FALSE); header("Content-Type: application/download", FALSE); header("Content-Disposition: attachment; filename=\"$this->FileName\""); header("Content-Transfer-Encoding: binary"); header("Content-Length: " . filesize($download_location) + 100); fpassthru($fopen); fclose($fopen); exit(); } Previous Comments: ------------------------------------------------------------------------ [2009-07-02 12:03:44] manish at sakshiinfosys dot com Hello, I have created Mobile Software Secured download website. When user click on download link that time opening box to Download file. When Download Click on 'OK' button that time Succesfully downloaded after Deleted that file and directory. But, When Download Click on 'Cancel' Button that time also Deleted that file and directory. Actually Click on 'Cancel' button and user not Downloaded. Please i have need to help to Why we know file downloaded Successfully or not. If you can not understand my problem than aslo reply me. Thanks & Regards Manish Bhuva ------------------------------------------------------------------------ [2009-05-06 18:56:54] fali68 at yahoo dot com I have the same issue with PHP 4.449 and 4.1.2.0 mysql. and worked fine with pervious version. can somone shed some light on this? here is the code I'm using mysql_select_db($database_tred, $conn); $query = sprintf("SELECT * FROM Files WHERE Files.FileID = %s", $TID_Recordset1); $result = MYSQL_QUERY($query, $tred)or die(mysql_error()); $data = MYSQL_RESULT($result,0,"filename"); $type = MYSQL_RESULT($result,0,"filetype"); $filesize = MYSQL_RESULT($result,0,"filesize"); $file = MYSQL_RESULT($result,0,"bin_data"); if($result) { header("Content-Tranfer-Encoding: binary"); header("Content-Disposition: attachment; filename= $data"); header("Content-length: $filesize"); header("Content-Description: PHP Generated Data"); print ($file); ------------------------------------------------------------------------ [2009-04-03 04:30:10] marcell at equylybra dot com Also having issues using the same script. I get no errors when downloading files with sizes below 20Mb. >From 20Mb files are perfectly downloaded via FTP but are saved with a >corrupted file size (0Kb) when downloaded via PHP. Tryed the solution proposed >by "webmaster at anpera dot net" too but I had no success. Tryed without Content-Lenght header with no effect. Also tryed with different Content-Types (e.g. 'application/octet-stream','application/force-download','application/zip'). I am on PHP 5.2.8 with Apache 2.2.11 under Linux ------------------------------------------------------------------------ [2008-12-24 18:31:39] jon at jonraivala dot com Using strlen of the blob instead of filesize in the header works for me. Example - header("Content-Length: ".strlen($blob_data)); Hope this helps someone. ------------------------------------------------------------------------ [2008-10-23 09:54:32] arasan at mahiti dot org I've used this code but the download rate is very slow compared to ordinary download. whether there is any way to overcome this? ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=43306 -- Edit this bug report at https://bugs.php.net/bug.php?id=43306&edit=1