PHP下载原理及CI下载原理,如何进行收费下载,请自己扩展~

	<li>$obj_url=$this->db->query("select?url?from?dowloads?where?id=$download_id")</li>
	<li>          ->row(); ?</li>
	<li>$url=$obj_url->url; ?</li>
	<li>$file?=$_SERVER['DOCUMENT_ROOT'].$url; ?</li>
	<li>if(file_exists($file)){ ?</li>
	<li>$filename=?basename($url); ?</li>
	<li>//文件的类型 ?</li>
	<li>header("Content-type:?application/octet-stream"); ?</li>
	<li>//下载显示的名字 ?</li>
	<li>header("Content-Disposition:?attachment;?filename=".$filename); ?</li>
	<li>readfile($file); ?</li>
	<li>}else{ ?</li>
	<li>echo?"不存在"; ?</li>
	<li>} ?</li>
	<li>exit();??</li>

//注意header前面不能有任何输出,否则下载的图片不会显示
利用CI框架下载
加载这个辅助函数用下面的代码加载这个辅助函数

	<li>$this->load->helper('download');??</li>

下面的函数就有效:

force_download(‘filename‘, ‘data‘)

服务器产生能下载数据到你桌面的头. 这对你下载文件有帮助. 第一个参数是下载文件的文件名, 第二个参数是文件数据. Example:

	<li>$data?=?'Here?is?some?text!'; ?</li>
	<li>$name?=?'mytext.txt'; ?</li>
	<li>force_download($name,?$data);??</li>

如果你想在你的服务器上下载一个存在文件,你需要将它读到一个字符串中:

	<li>$data?=?file_get_contents("http://www.chhua.com/path/to/photo.jpg");?//?读文件内容 ?</li>
	<li>$name?=?'myphoto.jpg'; ?</li>
	<li>force_download($name,?$data);?</li>