zoukankan      html  css  js  c++  java
  • 文件上传与下载学习笔记(1)---文件上传原理及配置

    一:原理:将客户端的文件上传到服务器端的临时目录再将服务器端的临时文件移动到指定目录

    二:客户端的配置

    1. 表单的method必须为post方法
    2. 表单必须添加enctype="multipart/form-data"属性

         二者缺一不可。

         客户端进行限制:

         1:限制文件上传的大小

         <input type="hidden" name="MAX_FILE_SIZE" value="2M"/>

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

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

    三:将临时文件移动到指定目录

    两种方法:1:move_uploaded_file($filename, $destination)

                  2:copy($source, $dest)

    四:php.ini中的配置

    在php.ini中搜索uploads ,会看到uploads模块的配置

    第一项:file_uploads=On 开启文件上传功能

    第二项:upload_tmp_dir="C:xampp mp" 临时目录

    第三项:upload_max_filesize 允许上传的最大文件大小

    第四项:post_max_size 通过post方法传递的数据大小

    第五项:max_file_uploads=20 一次最多上传20个文件

    关于资源的配置
    max_execution_time=30 脚本解析器终止之前允许的最大执行时间,单位为秒。防止程序写的不好而占尽服务器资源
    max_input_time=60 脚本解析输入数据post、get等的最大时间
    max_input_nesting_level = 64 设置输入变量的嵌套深度
    memory_limit =128M 最大单线程(web请求)的独立内存使用量
    max_input_vars = 1000 接受多少输入的变量

    五:error错误号解析

    0 上传成功 上传到临时目录成功
    1 超过了upload_max_filesize的值
    2 超过了MAX_FILE_SIZE指定的值(表单)
    3 文件只有部分被上传
    4 没有文件被上传
    6 找不到临时目录
    7 文件写入失败
    8 上传的文件被PHP扩展程序中断

  • 相关阅读:
    小故事
    设计模式
    git分支
    git简单操作
    ab命令压力测试
    libcheck ARM交叉编译
    libxml2 ARM 交叉编译
    I.MX6 安装LTIB
    为ARM编译Glib
    QT 4.8 中文显示问题
  • 原文地址:https://www.cnblogs.com/bwcx/p/file1.html
Copyright © 2011-2022 走看看