php文件上传你必须知道的几点


Posted in PHP onOctober 20, 2015

本篇文章主要说明的是与php文件上传的相关配置的知识点。PHP文件上传功能配置主要涉及php.ini配置文件中的upload_tmp_dirupload_max_filesizepost_max_size等选项,下面一一说明。

php文件上传你必须知道的几点

打开php.ini配置文件找到File Uploads
file_uploads = On

默认允许HTTP文件上传,此选项不能设置为OFF。
upload_tmp_dir =
默认为空,此选项在手动配置PHP运行环境时,也容易遗忘,如果不配置这个选项,文件上传功能就无法实现,这个选项设置的是文件上传时存放文件的临时目录,你必须给这个选项赋值,比如upload_tmp_dir ='/leapsoulcn',代表在C盘目录下有一个leapsoulcn目录,和session配置一样,如果你是在linux环境下,你必须赋予这个目录可写权限。
如何上传超过8M的大文件?
上传大文件主要涉及配置upload_max_filesizepost_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文件上传汇总》,希望对大家有帮助。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
逐步提升php框架的性能
Jan 10 PHP
PHP命名空间(Namespace)的使用详解
May 04 PHP
PHP判断图片格式的七种方法小结
Jun 03 PHP
PHP修改session_id示例代码
Jan 08 PHP
PHP 动态生成静态HTML页面示例代码
Jan 15 PHP
PHP识别二维码的方法(php-zbarcode安装与使用)
Jul 07 PHP
thinkPHP微信分享接口JSSDK用法实例
Jul 07 PHP
PHP实现登陆并抓取微信列表中最新一组微信消息的方法
Jul 10 PHP
PHP实现支持CURL字符串证书传输的方法
Mar 23 PHP
laravel框架中控制器的创建和使用方法分析
Nov 23 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
Apr 04 PHP
PHP使用非对称加密算法RSA
Apr 21 PHP
PHP判断上传文件类型的解决办法
Oct 20 #PHP
php上传大文件失败的原因及应对策略
Oct 20 #PHP
PHP中如何使用session实现保存用户登录信息
Oct 20 #PHP
PHP+jQuery翻板抽奖功能实现
Oct 19 #PHP
php生成动态验证码gif图片
Oct 19 #PHP
php批量删除超链接的实现方法
Oct 19 #PHP
php二维码生成
Oct 19 #PHP
You might like
PHP中文URL编解码(urlencode()rawurlencode()
2010/07/03 PHP
PHP使用range协议实现输出文件断点续传代码实例
2014/07/04 PHP
PHP输出日历表代码实例
2015/03/27 PHP
jquery $(document).ready() 与window.onload的区别
2009/12/28 Javascript
对之前写的jquery分页做下升级
2014/06/19 Javascript
js 左右悬浮对联广告特效代码
2014/12/12 Javascript
JavaScript学习笔记(三):JavaScript也有入口Main函数
2015/09/12 Javascript
javascript实现密码验证
2015/11/10 Javascript
JavaScript如何实现在文本框(密码框)输入提示语
2015/12/25 Javascript
javascript实现滚动效果的数字时钟实例
2016/07/21 Javascript
Angular2 Service实现简单音乐播放器服务
2017/02/24 Javascript
解决bootstrap下拉菜单点击立即隐藏bug的方法
2017/06/13 Javascript
vue init失败简单解决方法(终极版)
2017/12/22 Javascript
nodejs使用node-xlsx生成excel的方法示例
2019/08/22 NodeJs
微信小程序后端(java)开发流程的详细步骤
2019/11/13 Javascript
解决vue项目中遇到 Cannot find module ‘chalk‘ 报错的问题
2020/11/05 Javascript
Python实现的手机号归属地相关信息查询功能示例
2017/06/08 Python
Matplotlib 生成不同大小的subplots实例
2018/05/25 Python
Python基本数据结构与用法详解【列表、元组、集合、字典】
2019/03/23 Python
快速排序的四种python实现(推荐)
2019/04/03 Python
PyQt4 treewidget 选择改变颜色,并设置可编辑的方法
2019/06/17 Python
Python标准库:内置函数max(iterable, *[, key, default])说明
2020/04/25 Python
五种Python转义表示法
2020/11/27 Python
CSS3中新增的对文本和字体的设置
2020/02/03 HTML / CSS
Expedia瑞典官网:预订度假屋、酒店、汽车租赁、机票等
2021/01/23 全球购物
理工科学生的自我评价
2013/12/15 职场文书
中药专业毕业自荐书范文
2014/02/08 职场文书
手机银行营销方案
2014/03/14 职场文书
土建工程师岗位职责
2014/06/10 职场文书
银行业务授权委托书
2014/10/10 职场文书
设备技术员岗位职责
2015/04/11 职场文书
反腐倡廉影片观后感
2015/06/08 职场文书
小学生运动会广播
2015/08/19 职场文书
2016党员干部廉政准则学习心得体会
2016/01/20 职场文书
导游词之无锡古运河
2019/11/14 职场文书
Ajax实现三级联动效果
2021/10/05 Javascript