首頁 > php教程 > PHP源码 > 文件上传 函数

文件上传 函数

PHP中文网
發布: 2016-05-25 17:11:28
原創
1155 人瀏覽過

代码

/**
 * 上传
 * @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("上传文件失败");
	}
}
登入後複製
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新問題
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板