Heim  >  Artikel  >  php教程  >  文件上传 函数

文件上传 函数

PHP中文网
PHP中文网Original
2016-05-25 17:11:281070Durchsuche

代码

/**
 * 上传
 * @allowedTypes array 允许上传文件类型数组(后缀名)
 */
function upload($inputName, $allowedSize, $allowedTypes, $saveDir){
	if(empty($_FILES)) {
		msg("上传文件大小超出表单规定");	
	}
	
	if(empty($_FILES[$inputName]['tmp_name'])) {
		msg("上传文件大小超出控件规定");
	}
	
	//检查是否合法上传
	if(!is_uploaded_file($_FILES[$inputName]['tmp_name'])) {
		msg("上传文件不合法");	
	}
	
	//检查大小
	if($_FILES[$inputName]['size'] > $allowedSize) {
		msg("上传文件体积超出规定大小");
	}
	
	//检查类型
	$extension = array_pop(explode(".", $_FILES[$inputName]['name']));//后缀名
	if(!in_array($extension, $allowedTypes)) {
		msg("上传文件类型({$extension})不允许,只能是".implode(",", $allowedTypes));	
	}
	
	//重命名
	$sp = DIRECTORY_SEPARATOR;
	if(!file_exists($saveDir)) {
		mkdir($saveDir, 0777, true);
	}
	$new_filename = $saveDir.$sp.date("YmdHis").rand(10000, 99999).".".$extension;
	
	//移动
	$res = move_uploaded_file($_FILES[$inputName]['tmp_name'], $new_filename);
	
	if($res) {
		return $new_filename;
	}else{
		msg("上传文件失败");
	}
}
Stellungnahme:
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
Vorheriger Artikel:微博文字数量统计Nächster Artikel:获取电台的动态ip