码迷,mamicode.com
首页 > Web开发 > 详细

PHP文件上传

时间:2019-06-07 00:41:29      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:lse   body   格式   服务器   指定位置   操作   www   最大   复合   

开发中需要上传图片、音乐、视频等等,这种上传传递是二进制数据。

1.1客户端上传文件

        文件域:

<input type="file" name="image">

           表单的enctype属性:

          默认情况下,表单传递是字符流,不能传递二进制流,通过设置表单的enctype属性传递复合数据。 

          enctype属性的值有:

  1. application/x-www-form-urlencoded:【默认】,表示传递的是带格式的文本数据。

  2. multipart/form-data:复合的表单数据(字符串,文件),文件上传必须设置此值

  3. text/plain:用于向服务器传递无格式的文本数据,主要用户电子邮件

1.2服务器接收文件

        超全局变量$_FILES是一个二维数组,用来保存客户端上传到服务器的文件信息。二维数组的行是文件域的名称,列有5个。

        1、$_FILES[][‘name’]:上传的文件名

        2、$_FILES[][‘type]:上传的类型,这个类型是MIME类型(image/jpeg、image/gif、image/png)

        3、$_FILES[][‘size’]:文件的大小,以字节为单位

        4、$_FILES[][‘tmp_name’]:文件上传时的临时文件

        5、$_FILES[][‘error’]:错误编码(值有0、1、2、3、4、6、7)0表示正确

1.3将上传文件移动到指定位置

       函数:

move_uploaded_file(临时地址,目标地址)

         代码:

<body>
<?php
if(!empty($_POST)) {
    if($_FILES[‘face‘][‘error‘]==0){  //上传正确
        //文件上传
        move_uploaded_file($_FILES[‘face‘][‘tmp_name‘],‘./‘.$_FILES[‘face‘][‘name‘]);
    }else{
        echo ‘上传有误‘;
        echo ‘错误码:‘.$_FILES[‘face‘][‘error‘];
    }
}
?>
<form method="post" action="" enctype=‘multipart/form-data‘>
    <input type="file" name="face">
    <input type="submit" name="button" value="上传">
</form>
</body>

1.4与文件上传有关的配置         

             post_max_size = 8M:表单允许的最大值

            upload_max_filesize = 2M:允许上传的文件大小

            upload_tmp_dir =F:\wamp\tmp:指定临时文件地址,如果不知道操作系统指定

            file_uploads = On:是否允许文件上传

             max_file_uploads = 20:允许同时上传20个文件

 

PHP文件上传

标签:lse   body   格式   服务器   指定位置   操作   www   最大   复合   

原文地址:https://www.cnblogs.com/shineguang/p/10987291.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!