简单的文件上传

来源:互联网 发布:英国博士申请知乎 编辑:程序博客网 时间:2024/05/16 05:19
文件上传:

准备工作:

1.来个表单页面,放一个留言框,method="post" enctype="multipart/form-data"

上传文件原理:

是将客户端文件通过浏览器上传到服务器端

2.服务器端配置

PHP配置文件中file_uploads=on

保存$_FILES:文件上传变量中


$_FILES[浏览框的名称]['name']:上传文件的名称

$_FILES[浏览框的名称]['type']:上传文件的MIME类型

$_FILES[浏览框的名称]['tmp_name']:保存在服务端上的临时文件名
我们在服务器端操作的都是这个临时文件


$_FILES[浏览框的名称]['error']:上传文件的错误号,0代表没有错误, 代表上传成功....4代表没有文件上传

$_FILES[浏览框的名称]['size']:上传文件的大小

上传文件步骤:

1接收信息

2判断你的错误号是否等于0或者UPLOAD_ERR_OK

3判断下这个文件是否通过HTTP POST方式上传来的,is_upload_file($tmp_name)

4将服务器端上的文件移动指定目录下

错误信息

define('UPLOAD_ERR_OK',0);

define('UPLOAD_ERR_INI_SIZE',1);

define('UPLOAD_ERR_FORM_SIZE',2);

define('UPLOAD_ERR_PARTIAL',3);

define('UPLOAD_ERR_NO_FILE',4);

define('UPLOAD_ERR_NO_TMP_DIR',6);

define('UPLOAD_ERR_CANT_WRITE',7);

define('UPLOAD_ERR_EXTENSION',8);

0:没问题

1:超过了php配置文件中upload_max_filesize

2:超过了表单允许接收数据的大小

3:文件部分被上传

4:没有文件上传

6:找不到临时目录

7:没有写的权限

8:由于PHP的扩展程序中断了文件上传


通过<input type="file" accept="image/jpeg,image/png">限制上传类型,不过对我们来说不起作用,

<?phpheader("content-type:text/html;charset=utf-8");//预定义变量:$_FILES:文件上传变量//print_r($_FILES);//接受上传文件的信息$fliename=$_FILES['myFile']['name'];$type=$_FILES['myFile']['type'];$tmp_name=$_FILES['myFile']['tmp_name'];$error=$_FILES['myFile']['error'];$size=$_FILES['myFile']['size'];//判断下错误号是否等于0if($error==0){    //判断文件是否通过HTTP POST方式上传来的    if(is_uploaded_file($tmp_name)){     $dest="uploads/".$filename;        //开始移动        if(move_uploaded_file($tmp_name,$dest)){           echo"文件上传成功";        }else{           echo"文件上传失败" ;        }    }else{        echo "文件不是通过HTTP POST方式上传上来的"    }}



in_array()//在制定数组中搜索值是否存在,存在返回为真,不存在返回为假
$array=array('a','b','c','d')
$search='a';
in_array($search,$array)
in_array($search,$array,true)//即比较类型也比较值


原创粉丝点击