首頁  >  文章  >  php教程  >  文件上传 函数

文件上传 函数

PHP中文网
PHP中文网原創
2016-05-25 17:11:281115瀏覽

代码

/**
 * 上传
 * @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("上传文件失败");
	}
}
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn