PHP下载原理及CI下载原理,如何进行收费下载,请自己扩展~
$obj_url=$this->db->query("select?url?from?dowloads?where?id=$download_id")
->row(); ?
$url=$obj_url->url; ?
$file?=$_SERVER['DOCUMENT_ROOT'].$url; ?
if(file_exists($file)){ ?
$filename=?basename($url); ?
//文件的类型 ?
header("Content-type:?application/octet-stream"); ?
//下载显示的名字 ?
header("Content-Disposition:?attachment;?filename=".$filename); ?
readfile($file); ?
}else{ ?
echo?"不存在"; ?
} ?
exit();??
//注意header前面不能有任何输出,否则下载的图片不会显示
利用CI框架下载
加载这个辅助函数用下面的代码加载这个辅助函数
$this->load->helper('download');??
下面的函数就有效:
force_download(‘filename‘, ‘data‘)
服务器产生能下载数据到你桌面的头. 这对你下载文件有帮助. 第一个参数是下载文件的文件名, 第二个参数是文件数据. Example:
$data?=?'Here?is?some?text!'; ?
$name?=?'mytext.txt'; ?
force_download($name,?$data);??
如果你想在你的服务器上下载一个存在文件,你需要将它读到一个字符串中:
$data?=?file_get_contents("http://www.chhua.com/path/to/photo.jpg");?//?读文件内容 ?
$name?=?'myphoto.jpg'; ?
force_download($name,?$data);?
相关笔记
评论