整理个经常用的强制下载文件的函数,之前就说把一些常用的东西整理出来结果老是没时间,最近陆续把这些东西整理下。
public function download() { $id = $this->_get('id'); $M = M("downloads"); $data=$M->where("id=$id and status=1")->find(); !$data && exit; $filename = iconv('UTF-8','GBK',$data['filename']); $savename = $data['savename']; $myfile = $data[url] ? $data[url] : 'Uploads/file/'.$savename; if(file_exists($myfile)){ $M->where("id=$id")->setInc('downloads'); $file = @ fopen($myfile, "r"); header("Content-type: application/octet-stream"); header("Content-Disposition: attachment; filename=" .$filename ); while (!feof($file)) { echo fread($file, 50000); } fclose($file); exit; }else{ echo '文件不存在!'; } }