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

php上传(一)

时间:2015-09-02 10:35:54      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:

php上传基础知识总结

1.文件上传

1》文件上传的原理:将客户端上的文件通过浏览器上传到服务器上,
    在将服务器上的文件移动到指定目录。
    
2》客户端的配置
    表单页面,浏览框
    method=‘post‘
    enctype=‘multipart/form-data‘

3》服务器端配置
    $_FILES:接受上传文件信息
    
    $_FILES[‘浏览框名称‘][‘name‘]->上传文件的名称
    $_FILES[‘浏览框名称‘][‘type‘]->上传文件的MIME类型
    $_FILES[‘浏览框名称‘][‘tmp_name‘]->服务器端临时文件名称
    $_FILES[‘浏览框名称‘][‘size‘]->上传文件的大小,单位是字节
    $_FILES[‘浏览框名称‘][‘error‘]->上传文件的错误号
    
    上传文件的错误号:
    
    0 或者UPLOAD_ERR_OK:代表没有错误,证明客户端上的文件发送到了服务器端
    1或者UPLOAD_ERR_INI_SIZE:超过了PHP配置文件允许上传的文件的最大大小,upload_max_filesize=选项的值
    2或者UPLOAD_ERR_FORM_SIZE:超过了表单中限制上传文件的最大大小,超过了MAX_FILE_SIZE选项的值
    3或者UPLOAD_ERR_PARTIAL:文件部分被上传
    4或者UPLOAD_ERR_NO_FILE:没有选择上传文件
    6或者UPLOAD_ERR_NO_TMP_DIR:没有找到临时目录
    7或者UPLOAD_ERR_CANT_WRITE:目录不能写
    8或者UPLOAD_ERR_EXTENSION:由于PHP扩展程序中断了文件上传
    
    和文件上传有关的配置信息:
    file_uploads = On,是否支持通过HTTP形式上传文件
    upload_tmp_dir =上传文件的临时目录
    upload_max_filesize = 2M,设置上传文件的最大大小
    post_max_size = 8M,设置表单以POST形式发送数据的最大值
    max_file_uploads = 20,一次最多可以上传多少个文件
    $_FILES是空数组,上传文件为Array()数组的情况,没有接到上传文件信息的可能:
    1》表单中method 和enctype
    2》file_uploads是否开启
    
    bool move_uploaded_file($tmp_name,$destination):将服务器端的临时文件移动指定目录下,
    叫什么名字;移动成功,返回true,失败false
    
    3》上传文件限制
        客户端限制
            限制上传文件大小
            <input type=‘hidden‘ name=‘MAX_FILE_SIZE‘ value=‘文件大小,单位字节‘/>
            
            限制上传文件类型
            <input type=‘file‘ name=‘myFile‘ accept=‘上传文件的MIME类型,多个类型之间以,分隔‘/>
            
            常用的文件的MIME类型
            扩展名           MIME类型
            jpg/jpeg    image/jpeg
            gif            image/gif
            png            image/png
            html         text/html
            txt         text/plain
            pdf            application/pdf
            在客户端上做的限制,可以绕过
            
        服务器端限制
            限制上传文件的大小
            限制上传文件的类型
            限制是否是通过HTTP POST方式上传的
            检测是否是真实图片
    
    //1.接收信息
    
    //2.判断错误号(有错误的话匹配错误)
    
    //3.检测上传文件的大小
    
    //4.检测上传文件的类型
    
    //5.检测文件是否通过HTTP POST方式上传上来的
    
    //6.最后移动文件

 

php上传(一)

标签:

原文地址:http://www.cnblogs.com/wangjinke/p/4777800.html

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