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 相关文章推荐
zend Framework中的Layout(模块化得布局)详解
Jun 28 PHP
php中sprintf与printf函数用法区别解析
Feb 17 PHP
php获取目标函数执行时间示例
Mar 04 PHP
PHP生成自定义长度随机字符串的函数分享
May 04 PHP
浅析PHP微信支付通知的处理方式
May 25 PHP
CI框架出现mysql数据库连接资源无法释放的解决方法
May 17 PHP
PHP session 会话处理函数
Jun 06 PHP
php+ajax实现带进度条的上传图片功能【附demo源码下载】
Sep 14 PHP
Zend Framework入门应用实例详解
Dec 11 PHP
关于php 高并发解决的一点思路
Apr 16 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
Feb 07 PHP
php+redis实现商城秒杀功能
Nov 19 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
Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法
2011/06/30 PHP
PHP中读取文件的8种方法和代码实例
2014/08/05 PHP
解决php 处理 form 表单提交多个 name 属性值相同的 input 标签问题
2017/05/11 PHP
PHP数据库编程之MySQL优化策略概述
2017/08/16 PHP
Thinkphp 框架扩展之数据库驱动常用方法小结
2020/04/23 PHP
利用Dojo和JSON建立无限级AJAX动态加载的功能模块树
2007/03/24 Javascript
js综合应用实例简单的表格统计
2013/09/03 Javascript
Javascript window对象详解
2014/11/12 Javascript
javascript实现单击和双击并存的方法
2014/12/13 Javascript
JavaScript将字符串转换成字符编码列表的方法
2015/03/19 Javascript
jquery 中ajax执行的优先级
2015/06/22 Javascript
jQuery动态背景图片效果实现方法
2015/07/03 Javascript
javascript将DOM节点添加到文档的方法实例分析
2015/08/04 Javascript
如何提高数据访问速度
2016/12/26 Javascript
Bootstrap按钮组简单实现代码
2017/03/06 Javascript
使用JS和canvas实现gif动图的停止和播放代码
2017/09/01 Javascript
动态统计当前输入内容的字节、字符数的实例详解
2017/10/27 Javascript
基于vue2的canvas时钟倒计时组件步骤解析
2018/11/05 Javascript
微信自定义分享链接信息(标题,图片和内容)实现过程详解
2019/09/04 Javascript
vue实现数据控制视图的原理解析
2020/01/07 Javascript
Python 模拟购物车的实例讲解
2017/09/11 Python
python实现八大排序算法(1)
2017/09/14 Python
python 处理telnet返回的More,以及get想要的那个参数方法
2019/02/14 Python
对python中if语句的真假判断实例详解
2019/02/18 Python
python实现对输入的密文加密
2019/03/20 Python
python清空命令行方式
2020/01/13 Python
通过cmd进入python的步骤
2020/06/16 Python
利用Python pandas对Excel进行合并的方法示例
2020/11/04 Python
vue.js刷新当前页面的实例讲解
2020/12/29 Python
美国时尚孕妇装品牌:A Pea in the Pod
2017/07/16 全球购物
药剂专业自荐书
2014/06/20 职场文书
2014年国庆节庆祝建国65周年比赛演讲稿
2014/09/21 职场文书
机关党员四风问题个人整改措施
2014/10/26 职场文书
2014年前台文员工作总结
2014/12/08 职场文书
“爱眼护眼,提前预防近视”倡议书3篇
2019/10/30 职场文书
Go获取两个时区的时间差
2022/04/20 Golang