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 相关文章推荐
浅谈Windows下 PHP4.0与oracle 8的连接设置
Oct 09 PHP
ThinkPHP中实例Model方法的区别说明
Aug 21 PHP
解析PHP实现下载文件的两种方法
Jul 05 PHP
php中fsockopen用法实例
Jan 05 PHP
php获取json数据所有的节点路径
May 17 PHP
帝国cms常用标签汇总
Jul 06 PHP
php使用escapeshellarg时中文被过滤的解决方法
Jul 10 PHP
PHP设置images目录不充许http访问的方法
Nov 01 PHP
thinkphp5 migrate数据库迁移工具
Feb 20 PHP
PHP等比例压缩图片的实例代码
Jul 26 PHP
深入研究PHP中的preg_replace和代码执行
Aug 15 PHP
如何在Laravel5.8中正确地应用Repository设计模式
Nov 26 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
Mysql中limit的用法方法详解与注意事项
2008/04/19 PHP
PHP 年龄计算函数(精确到天)
2012/06/07 PHP
PHP超牛逼无限极分类生成树方法
2015/05/11 PHP
小程序微信退款功能实现方法详解【基于thinkPHP】
2019/05/05 PHP
Dom操作之兼容技巧分享
2011/09/20 Javascript
情人节之礼 js项链效果
2012/02/13 Javascript
JS延迟加载加快页面打开速度示例代码
2013/12/30 Javascript
Javascript+CSS实现影像卷帘效果思路及代码
2014/10/20 Javascript
jquery常用方法及使用示例汇总
2014/11/08 Javascript
jquery实现简单的无缝滚动
2015/04/15 Javascript
Bootstrap项目实战之子栏目资讯内容
2016/04/25 Javascript
easyUI实现(alert)提示框自动关闭的实例代码
2016/11/07 Javascript
js实现移动端轮播图
2020/12/21 Javascript
深入浅析vue-cli@3.0 使用及配置说明
2019/05/08 Javascript
JS实现处理时间,年月日,星期的公共方法示例
2019/05/31 Javascript
Vue路由对象属性 .meta $route.matched详解
2019/11/04 Javascript
[02:00]DAC2018主宣传片——龙征四海,剑问东方
2018/03/20 DOTA
Python之re操作方法(详解)
2017/06/14 Python
Python安装模块的常见问题及解决方法
2018/02/05 Python
python递归法解决棋盘分割问题
2019/07/17 Python
Python实现直播推流效果
2019/11/26 Python
python 实现Flask中返回图片流给前端展示
2020/01/09 Python
Python实现企业微信机器人每天定时发消息实例
2020/02/25 Python
优衣库英国官网:UNIQLO英国
2016/12/25 全球购物
幼儿园教育教学反思
2014/01/31 职场文书
材料工程专业毕业生求职信
2014/03/04 职场文书
课程改革实施方案
2014/03/16 职场文书
努力学习演讲稿
2014/05/10 职场文书
2015年班级元旦晚会活动总结
2014/11/28 职场文书
2015欢度元旦标语口号
2014/12/09 职场文书
《巨人的花园》教学反思
2016/02/19 职场文书
解除租赁合同协议书
2016/03/21 职场文书
《悬崖边的树》读后感2篇
2019/12/02 职场文书
jquery插件实现代码雨特效
2021/04/24 jQuery
Win11任务栏太宽了怎么办?一招解决Win11任务栏太宽问题
2021/11/21 数码科技
分享几个实用的CSS代码块
2022/06/10 HTML / CSS