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

yipeiwu_com6年前PHP代码库

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

打开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文件上传汇总》,希望对大家有帮助。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【宜配屋www.yipeiwu.com】。

相关文章

THINKPHP2.0到3.0有哪些改进之处

THINKPHP2.0到3.0有哪些改进之处

1.thinkphp中我们的入口文件写法,可能最后要加一个app::run(); 3.0就完全不用了,你会发现不然会出现两次调用2.debug 我们开发的时候在2.0中我们一般都这样写...

php结合安卓客户端实现查询交互实例

PHP 服务器端: function getids() { $this->output->set_header('Content-Type: application...

php通过Chianz.com获取IP地址与地区的方法

本文实例讲述了php通过Chianz.com获取IP地址与地区的方法。分享给大家供大家参考。具体分析如下: 一个IP获取的结果不是很完善,究其原因是因为ip138的IP解析应对国外的地址...

php实现统计邮件大小的方法

统计用户收件箱所占空间有多少,先计算每封邮件的大小(标题+内容+附近),后总和;1、计算附近大小;2、计算标题和内容大小3、总和求出单封邮件大小案例:复制代码 代码如下:<?php...

使用php+Ajax实现唯一校验实现代码[简单应用]

使用php+Ajax实现唯一校验实现代码[简单应用]

首先创建一个Ajax类(Ajax类) 然后新建一个文件form.html --------------------------form.html---------------------...