PHP 安全下载文件

来源:互联网 发布:erp人机对抗软件 编辑:程序博客网 时间:2024/04/30 16:24
<?phpheader('Content-Type:text/html;Charset=utf-8');define('ROOT_PATH', dirname(__FILE__));/** * 下载文件 * @param string $file_path 绝对路径 */function downFile($file_path) {//判断文件是否存在$file_path = iconv('utf-8', 'gb2312', $file_path); //对可能出现的中文名称进行转码if (!file_exists($file_path)) {exit('文件不存在!');}$file_name = basename($file_path); //获取文件名称$file_size = filesize($file_path); //获取文件大小$fp = fopen($file_path, 'r'); //以只读的方式打开文件header("Content-type: application/octet-stream");header("Accept-Ranges: bytes");header("Accept-Length: {$file_size}");header("Content-Disposition: attachment;filename={$file_name}");$buffer = 1024;$file_count = 0;//判断文件是否结束while (!feof($fp) && ($file_size-$file_count>0)) {$file_data = fread($fp, $buffer);$file_count += $buffer;echo $file_data;}fclose($fp); //关闭文件}downFile(ROOT_PATH . '/down/Sunset.jpg'); ?>
说明:文件名称可以接受中文名称。文件格式为 utf-8。

原创粉丝点击