立即注册

从零开始,编程论坛

广告联系qq1031180668喜欢网购的小伙伴们看过来啦
查看: 87|回复: 0

[web] php上传文件的原理

[复制链接]
  • ta_mind

    2019-8-30 13:16
  • classn_01: 73 classn_02

    [LV.6]常住居民II

    1054

    主题

    1776

    帖子

    3672

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    3672

    最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

    发表于 2019-9-19 16:11:33 | 显示全部楼层 |阅读模式

     文件上传原理

      将客户端的文件上传到服务器,再将服务器的临时文件上传到指定目录

      客户端配置

      提交表单

      表单的发送方式为post

      添加enctype="multipart/form-data"

      服务器端配置(推荐学习:PHP编程从入门到精通)

      file_uploads = On,支持HTTP上传

      uoload_tmp_dir = ,临时文件保存目录

      upload_max_filesize = 2M,允许上传文件的最大值

      max_file_uploads = 20 ,允许一次上传到的最大文件数

      post_max_size = 8M,post方式发送数据的最大值

      max_execution_time = -1,设置了脚本被解析器终止之前允许的最大执行时间,单位为秒,防止程序写的不好而占尽服务器资源。-1代表无穷

      max_input_time = 60 ,脚本解析输入数据允许的最大时间,单位为秒

      max_input_nesting_level = 64 ,设置输入变量的嵌套深度

      max_input_vars_ = 1000,接受多少输入的变量(限制分别应用于$_GET、$_POST和$_COOKIE超全局变量,将会导致E_WARNING的产生,更多的输入变量将会从请求中截断。

      memory_limit = 128M,最大单线程的独立内存使用量。也就是一个web请求,给予线程最大的内存使用量的定义

      错误信息说明

      UPLOAD_ERR_OK:其值为0,没有错误发生,文件上传成功

      UPLOAD_ERR_INI_SIZE:其值为1,上传的文件超过了php.ini中upload_max_filesize选项限制的值

      UPLOAD_ERR_FORM_SIZE:其值为2,上传文件的大小超过了HTML表单中MAX_FILE_SIZE选项指定的值

      UPLOAD_ERR_PARTIAL:其值为3,文件只有部分被上传

      UPLOAD_ERR_NO_FILE:其值为4,没有文件被上传

      UPLOAD_ERR_NO_TMP_DIR:其值为6,找不到临时文件夹

      UPLOAD_ERR_CANT_WRITE:其值为7,文件写入失败

      UPLOAD_ERR_EXTENSION:其值为8,上传的文件被PHP扩展程序中断

      客户端限制

      通过表单隐藏域限制文件上传文件的最大值

      <input type='hidden' name='MAX_FILE_SIZE' VALUE='字节数' />

      通过accept属性限制上传文件类型

      <input type='file' name='myFile' accept='文件的MIME类型' />

      在客户端的限制,用户可在网页上修改代码后上传,故无实际意义。应在服务器端加以限制

      限制上传文件的大小

      限制上传文件类型

      检测是否为真实图片类型

      检测是否为HTTP POST方式上传


    不积跬步,无以至千里
    游客
    回复
    您需要登录后才可以回帖 登录 | 立即注册

    手机版|Archiver|小黑屋|sitemap| 从零开始,编程论坛 - 一个单纯的编程学习交流论坛 ( 豫ICP备15032706号 )

    GMT+8, 2019-10-15 23:54 , Processed in 1.103975 second(s), 25 queries .

    Powered by Discuz! X3.4

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表