当前位置 : 主页 > 网络编程 > PHP >

用php实现文件上传

来源:互联网 收集:自由互联 发布时间:2021-06-28
php文件上传 $val) {$files[$i]['name'] = $file['name'][$key];$files[$i]['type'] = $file['type'][$key];$files[$i]['tmp_name'] = $file['tmp_name'][$key];$files[$i]['error'] =$file['error'][$key];$files[$i]['size'] =$file['size'][$key];$i++
php文件上传
  $val) {
			$files[$i]['name'] = $file['name'][$key];
			$files[$i]['type'] = $file['type'][$key];
			$files[$i]['tmp_name'] = $file['tmp_name'][$key];
			$files[$i]['error'] =$file['error'][$key];
			$files[$i]['size'] =$file['size'][$key];
			$i++;
		}
	}
	return $files;
}
}

function uploadFile($fileInfo,$path='.http://img.558idc.com/uploadfile',$flag=true,$maxSize=1048576,$allowExt=array('jpeg','jpg','gif','png')){
	//$flag = true;
	//$maxSize = 1048576;
	//$allowExt = array('jpeg','jpg','gif','png');
	//判断错误号
	if ($fileInfo['error']===UPLOAD_ERR_OK) {
		if ($fileInfo['size']>$maxSize) {
			$res['mes']=$fileInfo['name'].'上传文件过大';
		}
		//检测上传文件的类型
		$ext = getExt($fileInfo['name']);
		if (!in_array($ext, $allowExt)) {
			$res['mes'] = $fileInfo['name'].'非法文件类型';
		}
		//检测是否为真实图片类型
		if ($flag) {
			if (!getimagesize($fileInfo['tmp_name'])) {
				$res['mes'] = $fileInfo['name'].'不是真实的图片类型';
			}
		}
		//检测文件是否为HTTP POST 方式上传来的
		if (!is_uploaded_file($fileInfo['tmp_name'])) {
			$res['mes'] = $fileInfo['name'].'文件不是通过HTTP  POST 方式上传来的';
		}
        if ($res)  return $res;   //如果res有值,先输出
		//$path = '.http://img.558idc.com/uploadfile';
		if (!file_exists($path)) {
			mkdir($path,0777,true);
			chmod($path, 0777);
		}
		$uniName = getUniName();
		$destination = $path.'/'.$uniName.'.'.$ext;
		if (!move_uploaded_file($fileInfo['tmp_name'], $destination)) {
			$res['mes'] =$fileInfo['name'].'文件移动失败';
		}
		$res['mes'] = $fileInfo['name'].'文件上传成功';
		$res['dest'] = $destination;
		return $res;
	}else{
		switch ($fileInfo['error'] ) {
		case 1:
		   $res['mes']= '上传文件超过了PHP配置文件中upload_max_filesize选项的值';
			break;
		case 2:
			$res['mes']= '超过了表单MAX_FILE_SIZE限制的大小';
			break;
		case 3:
			$res['mes']='文件部分被上传';	
			break;
		case 4:
			$res['mes']= '没有选择上传文件';
			break;
		case 6:
			$res['mes']= '没有找到临时目录';
			break;
		case 7:
		case 8:
		    $res['mes']= '系统错误';
			break;
	}
		return $res;
	}
}
网友评论