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的类树(支持无限分类)
Oct 09 PHP
360通用php防护代码(使用操作详解)
Jun 18 PHP
探讨:php中在foreach中使用foreach ($arr as &$value) 这种类型的解释
Jun 24 PHP
关于Zend Studio 配色方案插件的介绍
Jun 24 PHP
php防注入及开发安全详细解析
Aug 09 PHP
typecho插件编写教程(四):插件挂载
May 28 PHP
PHP可变函数学习小结
Nov 29 PHP
用php和jQuery来实现“顶”和“踩”的投票功能
Oct 13 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
Nov 15 PHP
PHP使用curl_multi_select解决curl_multi网页假死问题的方法
Aug 15 PHP
Yii 框架使用Forms操作详解
May 18 PHP
CI框架简单分页类用法示例
Jun 06 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表单重复提交实现方法
2015/09/29 PHP
php如何实现只替换一次或N次
2015/10/29 PHP
JS弹出对话框返回值代码(asp.net后台)
2010/12/28 Javascript
jquery图片放大功能简单实现
2013/08/01 Javascript
Eclipse去除js(JavaScript)验证错误
2014/02/11 Javascript
Express作者TJ告别Node.js奔向Go
2014/07/14 Javascript
jQuery验证插件 Validate详解
2014/11/20 Javascript
JavaScript中的类数组对象介绍
2014/12/30 Javascript
jquery彩色投票进度条简单实例演示
2020/07/23 Javascript
详解JavaScript基于面向对象之创建对象(2)
2015/12/10 Javascript
原生javascript实现分享到朋友圈功能 支持ios和android
2016/05/11 Javascript
jQuery EasyUI封装简化操作
2016/09/18 Javascript
JavaScript实现瀑布流以及加载效果
2017/02/11 Javascript
基于jQuery.i18n实现web前端的国际化
2018/05/04 jQuery
详解关于Vue2.0路由开启keep-alive时需要注意的地方
2018/09/18 Javascript
Vue项目引发的「过滤器」使用教程
2019/03/12 Javascript
编写更好的JavaScript条件式和匹配条件的技巧(小结)
2019/06/27 Javascript
jQuery实现带进度条的轮播图
2020/09/13 jQuery
JS实现放大镜效果
2020/09/21 Javascript
巧用Python装饰器 免去调用父类构造函数的麻烦
2012/05/18 Python
python实现发送和获取手机短信验证码
2016/01/15 Python
python 处理string到hex脚本的方法
2018/10/26 Python
对Python 多线程统计所有csv文件的行数方法详解
2019/02/12 Python
python图的深度优先和广度优先算法实例分析
2019/10/26 Python
Python高级编程之消息队列(Queue)与进程池(Pool)实例详解
2019/11/01 Python
Python中常见的数制转换有哪些
2020/05/27 Python
Python测试框架:pytest学习笔记
2020/10/20 Python
opencv python 对指针仪表读数识别的两种方式
2021/01/14 Python
智利最大的网上商店:Linio智利
2016/11/24 全球购物
北美三大旅游网站之一:Travelocity
2017/08/12 全球购物
老干部工作汇报材料
2014/10/28 职场文书
2015年学校图书室工作总结
2015/05/19 职场文书
第一军规观后感
2015/06/12 职场文书
经典哲理警句:志不真则心不热,心不热则功不贤
2019/11/14 职场文书
python引入其他文件夹下的py文件具体方法
2021/05/23 Python
delete in子查询不走索引问题分析
2022/07/07 MySQL