PHP 安全上载文件

WBOY
풀어 주다: 2016-06-13 13:19:07
원래의
822명이 탐색했습니다.

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.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿