本篇文章主要说明的是与php文件上传的相关配置的知识点。PHP文件上传功能配置主要涉及php.ini配置文件中的upload_tmp_dir、upload_max_filesize、post_max_size等选项,下面一一说明。
打开php.ini配置文件找到File Uploads
file_uploads = On
默认允许HTTP文件上传,此选项不能设置为OFF。
upload_tmp_dir =
默认为空,此选项在手动配置PHP运行环境时,也容易遗忘,如果不配置这个选项,文件上传功能就无法实现,这个选项设置的是文件上传时存放文件的临时目录,你必须给这个选项赋值,比如upload_tmp_dir ='/leapsoulcn',代表在C盘目录下有一个leapsoulcn目录,和session配置一样,如果你是在linux环境下,你必须赋予这个目录可写权限。
如何上传超过8M的大文件?
上传大文件主要涉及配置upload_max_filesize和post_max_size两个选项。
php.ini配置文件中的默认文件上传大小为2M,php初学者容易犯的一个错误是在编写文件上传功能时通过设置上传文件最大大小的表单区域,即允许上传文件的最大值,max_file_size(隐藏值域)的值来规定上传文件的大小,其实一般别人可以绕过这个值,所以安全起见,最好是在php.ini配置文件中配置upload_max_filesize选项,设定文件上传的大小。
默认upload_max_filesize = 2M,即文件上传的大小为2M,如果你想上传超过8M的文件,比如20M,你必须设定upload_max_filesize = 20M。
但是光设置upload_max_filesize = 20M还是无法实现大文件的上传功能,你必须修改php.ini配置文件中的post_max_size选项,其代表允许POST的数据最大字节长度,默认为8M。如果POST数据超出限制,那么$_POST和$_FILES将会为空。要上传大文件,你必须设定该选项值大于upload_max_filesize指令的值,我一般设定upload_max_filesize和post_max_size值相等。另外如果启用了内存限制,那么该值应当小于memory_limit选项的值。
文件上传的其他注意事项
在上传大文件时,你会有上传速度慢的感觉,当超过一定的时间,会报脚本执行超过30秒的错误,这是因为在php.ini配置文件中max_execution_time配置选项在作怪,其表示每个脚本最大允许执行时间(秒),0 表示没有限制。你可以适当调整max_execution_time的值,不推荐设定为0。
至此,在php.ini配置文件中对文件上传选项进行配置的PHP教程就介绍完毕了,通过上面的步骤实践与学习,再结合PHP程序,文件上传功能就可以实现了。
更多关于PHP文件上传的精彩内容请关注专题《PHP文件上传汇总》,希望对大家有帮助。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
前言 前面的两篇,以sacdl工程为例,简单介绍了Node.js的环境搭建和代码组织。这一篇,做个简单的小结,把涉及到的编码习惯用我个人的理解,提示性的说明一下。 编程,其实就是用特定的语言讲故事、写规则。特定就是习惯,就像中国的方言,掌握了技巧,很快可以交流,剩下的细节慢慢积累就是。 比特币体现了人类去中心化的本质,Node.js也是最能体现人类特质的编程语言之一,比如:一切都是数据流,事事皆回
本文向大家介绍C++的锁你知道几种?相关面试题,主要包含被问及C++的锁你知道几种?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 锁包括互斥锁,条件变量,自旋锁和读写锁
主要内容:一 前情回顾,二 正式开始,三 总结一 前情回顾 上篇文章《做了几年开发,你知道自己的系统为什么要用消息中间件吗?》,给大家讲了讲消息中间件引入系统架构的作用,主要是解决哪些问题的。 其比较常见的实践场景是: 复杂系统的解耦 复杂链路的异步调用 瞬时高峰的削峰处理 二 正式开始 这篇文章给大家讲讲,如果你在系统架构里引入了消息中间件之后,会有哪些缺点? 1 系统可用性降低 首先是你的系统整体可用性绝对会降低,给你举个例子,我们就拿之
主要内容:创建一个文件上传表单,创建上传脚本,上传限制,保存被上传的文件通过 PHP,可以把文件上传到服务器。 本章节实例在 test 项目下完成,目录结构为: 源码下载 创建一个文件上传表单 允许用户从表单上传文件是非常有用的。 请看下面这个供上传文件的 HTML 表单: 将以上代码保存到 form.html 文件中。 有关上面的 HTML 表单的一些注意项列举如下: <form> 标签的 enctype 属性规定了在提交表单时要使用哪种内容类型。在表单需要二进制数
前面我们看了一些关于 Tornado 的总体框架设计图,还有一些模块设计。比如 为什么要阅读Tornado的源码? 里面的文件组织,真的不少,那么我们应该具体去读哪几个文件呢? 为了方便,约定$root指带tornado的根目录。总的来说,要用 Tornado 完成一个网站的构建,其实主要需要以下几个文件: $root/tornado/web.py $root/tornado/httpserver
本文向大家介绍PHP程序员必须知道的两种日志实例分析,包括了PHP程序员必须知道的两种日志实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP程序员必须知道的两种日志。分享给大家供大家参考,具体如下: 前言 作为一名程序员,比码代码还重要那么一点点的东西就是日志的分析和查询。下面列出常见日志及设置方法。 php-fpm 慢日志 php慢日志需要在php-fpm.conf设置,如果