首先我们要把处理文件错误信息全部放在一个文件中
下面我们来定义一个函数文件,function.php
这里面我们要用到3个文件,file.html doaction.php function.php
第一个页面我们就不多讲了,代码如下:html>
文件上传上传文件:
下面我们来看doaction.php
header("Content-type: text/html; charset=utf-8");
$fileinfo = $_FILES['myfile'];
$allowEXT = array('jpg','png','jpeg','gif');//文件格式
$maxfile = 2097152; //2M //文件多大
$ext = pathinfo($fileinfo['name'],PATHINFO_EXTENSION);//获取文件类型
$file = $fileinfo['error']; //存放错误信息
这个文件我们还没有写完,等我们把函数封装好,我们要在这个文件中引入封装的文件,然后调用函数
下面我们来看function.php文件,代码如下:<?php
function files($file,$ext,$allowEXT,$maxfile,$size){
//判断错误号
if($file > 0){
switch ($file){
case 1: $msg= "上传文件超过了php 配置文件中 upload_max_filesize 的值";break;
case 2: $msg= "上传文件超过max_file_size 大小";break;
case 3: $msg= "文件部分被上传";break;
case 4: $msg= "没有选择上传文件";break;
case 6: $msg= "没有找到临时目录";break;
case 7:
case 8: $msg= "系统错误";break;
}
exit($msg);
}
//检测文件上传的类型
if(!in_array($ext, $allowEXT)){
exit('非法文件类型');
}
//检测上传文件的大小
if($fileinfo['size']>$maxfile){
exit('文件过大');
}
//检测是否是http post方式提交的
if(!is_uploaded_file($fileinfo['$tmp_name'])){
exit("文件不是以POST方式提交");
}
}
?>
如上代码,我们就封装完成,函数有4个参数
之前我们讲到doction.php 需要引入function.php,然后调用函数
docation.php文件完整代码如下:<?php
header("Content-type: text/html; charset=utf-8");
require_once("function.php");
$fileinfo = $_FILES['myfile'];
$allowEXT = array('jpg','png','jpeg','gif');//文件格式
$maxfile = 2097152; //2M //文件多大
$ext = pathinfo($fileinfo['name'],PATHINFO_EXTENSION);//获取文件类型
$file = $fileinfo['error']; //存放错误信息
$size = $fileinfo['size'];
files($file,$ext,$allowEXT,$maxfile,$size);
?>