PHP用超级全局变量数组$_FILES来记录文件上传相关信息的。

1.file_uploads=on/off

是否允许通过http方式上传文件

2.max_execution_time=30

允许脚本最大执行时间,超过这个时间就会报错

3.memory_limit=50M

设置脚本可以分配的最大内存量,防止失控脚本占用过多内存,此指令只有在编译时设置了 
   --enable-memory-limit标志的情况下才生效

4.upload_max_filesize=20M

允许上传文件的最大大小,此指令必须小于post_max_size

5.upload_tmp_dir

上传文件临时存放目录

6.post_max_size=30M

允许post方式可以接受最大大小

$_FILES['myFile']['name']   客户端上次文件的原始名称。

$_FILES['myFile']['type']   文件的 MIME 类型,需要浏览器提供该信息的支持,例如"image/gif"。

$_FILES['myFile']['size']   已上传文件的大小,单位为字节。

$_FILES['myFile']['tmp_name']   文件被上传后在服务端储存的临时文件名,一般是系统默认。可以在php.ini的upload_tmp_dir 指定,但 用 putenv() 函数设置是不起作用的。

$_FILES['myFile']['error']   和该文件上传相关的状态码。['error'] 是在 PHP 4.2.0 版本中增加的。下面是它的说明:(它们在PHP3.0以后成了常量)

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; 没有文件被上传。

值:5; 上传文件大小为0. 
文件被上传结束后,默认地被存储在了临时目录中,这时您必须将它从临时目录中删除或移动到其它地方,如果没有,则会被删除。

也就是不管是否上传成功,脚本执行完后临时目录里的文件肯定会被删除。

附:修改PHP上传文件大小限制的方法

1. 一般的文件上传,除非文件很小.就像一个5M的文件,很可能要超过一分钟才能上传完.

但在php中,默认的该页最久执行时间为 30 秒.就是说超过30秒,该脚本就停止执行.

这就导致出现 无法打开网页的情况.这时我们可以修改 max_execution_time

在php.ini里查找

max_execution_time

默认是30秒.改为

max_execution_time = 0

0表示没有限制

2. 修改 post_max_size 设定 POST 数据所允许的最大大小。此设定也影响到文件上传。

php默认的post_max_size 为2M.如果 POST 数据尺寸大于 post_max_size $_POST 和 $_FILES superglobals 便会为空.
查找 post_max_size .改为

post_max_size = 150M

3. 很多人都会改了第二步.但上传文件时最大仍然为 8M.

为什么呢.我们还要改一个参数upload_max_filesize 表示所上传的文件的最大大小。

查找upload_max_filesize,默认为8M改为

upload_max_filesize = 100M

另外要说明的是,post_max_size 大于 upload_max_filesize 为佳.

上传效果展示:

其他详细配置问题可以参考我写的这篇文章:http://blog.ncmem.com/wordpress/2019/08/12/phpweb%e6%96%87%e4%bb%b6%e4%b8%8a%e4%bc%a0%e4%b8%8b%e8%bd%bd/

最新文章

  1. Scala元组
  2. Autocad 2012 win7(64位)启动时一直卡在acmgd.dll处的解决方案
  3. JMeter学习-027-JMeter参数文件(脚本分发)路径问题:jmeter.threads.JMeterThread: Test failed! java.lang.IllegalArgumentException: File distributed.csv must exist and be readable解决方法
  4. Using Flash Builder with Flash Professional
  5. Android相机使用(系统相机、自定义相机、大图片处理)
  6. CodeForces 22C System Administrator
  7. android笔记20170116
  8. 23. leetcode 169. Majority Element
  9. 理解Annotation
  10. 使用IIS Server Farms搭建应用服务负载均衡
  11. LeetCode Weekly Contest 121
  12. PHP防盗链的基本思想&&防盗链的设置方法
  13. 一起学Hadoop——MapReduce原理
  14. Mysql建了索引查询很慢
  15. python学习目录(转载)
  16. CodeForces 459C Pashmak and Buses(构造)题解
  17. firefox extension教程
  18. OneZero_Aphla发布总结以及自己的体会
  19. apache显示目录文件列表
  20. Improving the quality of the output

热门文章

  1. ThreadLocal内存泄漏真因探究(转)
  2. SAS学习笔记19 SAS删除空格函数(left、right、trim、strip、compress、compbl函数)
  3. sqlserver时间戳
  4. (九)springmvc之json的处理(服务端发送json数据到客户端)
  5. (二)XML基础(2)
  6. Java链表设计
  7. vue,onerror实现当图片加载失败时使用默认图
  8. c#重写了窗体的OnKeyDown事件,但是不执行
  9. sed & awk 概述
  10. python使得文件不包含重复行