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实现下载功能的代码
Sep 29 PHP
php输入流php://input使用浅析
Sep 02 PHP
php查找指定目录下指定大小文件的方法
Nov 28 PHP
PHP+Mysql+jQuery文件下载次数统计实例讲解
Oct 10 PHP
php自定义分页类完整实例
Dec 25 PHP
PHP实现可自定义样式的分页类
Mar 29 PHP
PHP中session跨子域的三种实现方法
Jul 25 PHP
php+jQuery+Ajax简单实现页面异步刷新
Aug 08 PHP
教你在header中隐藏php的版本信息
Aug 10 PHP
PHP使用数组实现矩阵数学运算的方法示例
May 29 PHP
PHP实现基于栈的后缀表达式求值功能
Nov 10 PHP
PHP ElasticSearch做搜索实例讲解
Feb 05 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中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
2011/11/26 PHP
PHP双向链表定义与用法示例
2018/01/31 PHP
Avengerls vs KG BO3 第一场2.18
2021/03/10 DOTA
Add a Table to a Word Document
2007/06/15 Javascript
Javascript类定义语法,私有成员、受保护成员、静态成员等介绍
2011/12/08 Javascript
Function.prototype.bind用法示例
2013/09/16 Javascript
JS小功能(setInterval实现图片效果显示时间)实例代码
2013/11/28 Javascript
jQuery制作拼图小游戏
2015/01/12 Javascript
JavaScript中的some()方法使用详解
2015/06/09 Javascript
AngularJS中的Directive自定义一个表格
2016/01/25 Javascript
JavaScript使用readAsDataURL读取图像文件
2017/05/10 Javascript
详解vue 组件之间使用eventbus传值
2017/10/25 Javascript
vue.js中created方法作用
2018/03/30 Javascript
vue项目移动端实现ip输入框问题
2019/03/19 Javascript
JavaScript实现京东放大镜效果
2019/12/03 Javascript
vue+iview框架实现左侧动态菜单功能的示例代码
2020/07/23 Javascript
vue实现移动端项目多行文本溢出省略
2020/07/29 Javascript
JavaScript中EventBus实现对象之间通信
2020/10/18 Javascript
python分析网页上所有超链接的方法
2015/05/08 Python
在Python中使用成员运算符的示例
2015/05/13 Python
python生成词云的实现方法(推荐)
2017/06/13 Python
Python实现二维数组按照某行或列排序的方法【numpy lexsort】
2017/09/22 Python
python机器学习之神经网络(三)
2017/12/20 Python
Python实现文件信息进行合并实例代码
2018/01/17 Python
学习Python3 Dlib19.7进行人脸面部识别
2018/01/24 Python
基于Python开发chrome插件的方法分析
2018/07/07 Python
python 列表输出重复值以及对应的角标方法
2019/06/11 Python
小学生自我鉴定
2013/10/12 职场文书
计算机数据库专业职业生涯规划书
2014/02/08 职场文书
企业文化建设实施方案
2014/03/22 职场文书
学雷锋日活动总结
2015/02/06 职场文书
中学生自我评价范文
2015/03/03 职场文书
2015年技术员工作总结
2015/04/10 职场文书
2015年物资管理工作总结
2015/05/20 职场文书
2015年中秋寄语
2015/07/31 职场文书
灵能百分百第三季什么时候来?
2022/03/15 日漫