Heim > Backend-Entwicklung > PHP-Tutorial > PHP 安全上载文件

PHP 安全上载文件

WBOY
Freigeben: 2016-06-13 13:19:07
Original
836 Leute haben es durchsucht

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'); 
?>
Nach dem Login kopieren
说明:文件名称可以接受中文名称。文件格式为 utf-8。

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage