PHP安全下载文件的方法
来源: 阅读:1504 次 日期:2016-08-27 13:11:26
温馨提示: 小编为您整理了“PHP安全下载文件的方法”,方便广大网友查阅!

本文实例讲述了PHP安全下载文件的方法。分享给大家供大家参考,具体如下:

header('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。

希望本文所述对大家PHP程序设计有所帮助。

更多信息请查看 网络编程
手机网站地址: PHP安全下载文件的方法
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们| 联系我们| 人才招聘| 网站声明| 网站帮助| 非正式的简要咨询| 简要咨询须知| 新媒体/短视频平台| 手机站点

版权所有:

Baidu
map