• 文件上传 (2)


    文件上传

     

    经常用于:

    1,  对于发表内容或贴子时的一个附件

    2,  资料共享的一个附件,文件

    3,  头像上传时的一个文件上传

     

    就是把客户本地的文件上传到服务器上去,客户可以直接在网页中查看或下载

     

     

     

    写表单:

           第一个注意项:上传的时候方法必须要为post方法

           第二个注意项:修改enctype

           第三项:为了防止用户传过大的文件,我们通常会写上一个隐藏表单,MAX_FILE_SIZE,将其值设为value=”byte单位的值”,防止用户等待时间过长。这一项,现在无效。【臭臭】

          

     

    我们一起在实验的时候,我们发现了这样一个特点:

     

                  Post发的,在php端用$_POST来接,接收不到。$_FILES来进行接收。

     

     

    英文:

           Enctype   编码方式  multipart/form-data 

           Upload           上传

           File                文件

           Size               大小

     

    文件上传七伤拳。

           1,看数组结构   【本质上面,我们就是在操作这个数组】

           2,判断文件是否有错误

           3,判断文件大小

           4, 判断文件后缀是否在准许的后缀

           5,判断文件MIME类型

           6,判断是否是上传文件

           7,移动文件   [按照日期生成子目录来保存文件,产生随机的文件名]

     

     

    看数组结构:

           这是一个二维数组,看着大纲来进行. 数组当中的第一个下标为表单里面的名称。

                                       这个数组当中第一个下标对应了一个新数组。

                                       新组当中的第一个元素下标为name,值为文件的原名。

           新数组当中的第二个元素为type,类型。文件的mime类型。Mime,认文件类型认的更加准确。MIME是给浏览器和电脑人的,不是给人看的吧。

          

           Tmp_name   临时文件路径  是将用 户上传的文件放入操作系统的临时目录下面。【以后是将其移动到指定目录下面来的】

                 

           Error              错误,上传是否有错误  0叫上传成功

     

           Size               文件滴大小

          

     

     

     

    第二拳:

           判断错误  如果无错,返回一个0,自动类型转换为bool值的假

     

           1,我们可以强制取反 

           2,我们可以显示错误,有错误就停止上传,如果无错误,就继续执行上传段代码

     

     

           错误为0 无错

    1                  超过了php.ini当中的max_upload_size这一项准许的值

     

    通常情况下为2M,但是,可以手动修改。不能超过POST最大准许大小

     

    post_max_size = 8M  不要超过了内存准许的大小

     

    php可以使用的内存限制  memory_limit = 128M

     

    2                  超过了表单的MAX_FILE_SIZE指定的大小

    3                  部份文件被上传

    4                  没有文件被上传

    6     找不到临时文件夹  upload_tmp_dir = 手动指定临时文件夹所在的目录

     

    7                 文件写入失败  

     

    第三拳,

                  判断文件大小

     

    第四拳

                  判断后缀

    第五拳

                  判断MIME

    第六拳

           Is_uploaded_file  传进上传的临时文件,判断这是不是我PHP上传的文件

     

    第七拳

           Move_uploaded_file       移动上传文件(临时文件路径, 新路径和新名)

     

     

     

     

    扩展一个函数

           Uniqid()          产生一个唯一的ID

     

     

     

     

     

    注意:

           请在文件上传的时候目录一定要加斜线,不加斜线,在移动的时候,就会和文件名拼接。

     

     

     

     

     

    下载

     

    1,  告诉浏览器类型

    2,  告诉浏览器这是附件

    3,  告诉浏览器大小   [可选]

    4,  读取并输出文件内容   readfile

     

     

  • 相关阅读:
    【转】Android——设置颜色的三种方法
    Eclipse Android安装APP时覆盖安装问题
    自定义数组,实现输出改数组的长度、最大值和最小值
    用程序实现对数组a[45,96,78,6,18,66,50]中的元素进行排序
    PHP面试题2
    PHP面试题
    gulp
    移动端base.css
    笔记
    mouseover和mouseout事件在鼠标经过子元素时也会触发
  • 原文地址:https://www.cnblogs.com/holyes/p/2521175.html
Copyright © 2020-2023  润新知