首页 >php教程 >PHP源码 >php实现中文文件下载

php实现中文文件下载

PHP中文网
PHP中文网原创
2016-05-24 12:52:551207浏览

php代码

/*
 * $filepath 文件路径
 * $newfilename 下载时的命名
 * download('/abc.xls','abc教学');
 * 下载下来的文件将是abc教学.xls
 */
function download($filepath,$newfilename){		
		$id = intval($_GET['id']);
		$db = model('tool');
		$tool = $db->where('id='.$id)->find();
		if(!$tool) $this->error('未找到您要查看的工具');
		
		$ua = $_SERVER["HTTP_USER_AGENT"];
		
			
		$pathinfo = pathinfo($filepath);
		$newfilename = $newfilename.'.'.$pathinfo['extension'];
		
		$file = fopen( $filepath ,"r");

		header('Content-Type: application/octet-stream');
		header("Accept-Ranges: bytes");
        header("Accept-Length: ".filesize($filepath));
		if (preg_match("/MSIE/", $ua)) {
			header('Content-Disposition: attachment; filename="' . rawurlencode($newfilename)  . '"');
		} else if (preg_match("/Firefox/", $ua)) {
			header('Content-Disposition: attachment; filename*="utf8\'\'' . $newfilename . '"');
		} else {
			header('Content-Disposition: attachment; filename="' . rawurlencode($newfilename) . '"');
		}
		
        echo fread($file, filesize($filepath));
		
		//$db->where('id='.$id)->data($update)->update();
        fclose($file);

	}
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn