apache+php上传大文件以上传100M为例

softyun3年前云服务器34

打开php.ini, Ctrl+F 找到下面的项并修改之。下面以上传100M为例。

file_uploads = on ;是否允许通过HTTP上传文件的开关。默认为ON即是开

upload_tmp_dir ;文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹

upload_max_filesize = 100m ;望文生意,即允许上传文件大小的最大值。默认为2M

post_max_size = 100M ;指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M

一般地,设置好上述四个参数后,上传<=8M的文件是不成问题,在网络正常的情况下。

但如果要上传>8M的大体积文件,只设置上述四项还一定能行的通。除非你的网络真有100M/S的上传高速,否则你还得关心关心下面的参数:

max_execution_time = 600 ;每个PHP页面运行的最大时间值(秒),默认30秒

max_input_time = 600 ;每个PHP页面接收数据所需的最大时间,默认60秒

memory_limit = 128M ;每个PHP页面所吃掉的最大内存,默认8M

下面贴个例子:

前台:

复制代码 代码如下:


<form enctype="multipart/form-data" action="upload.php" method="POST">
<!-- MAX_FILE_SIZE must precede the file input field -->
<input type="hidden" name="MAX_FILE_SIZE" value="100000000" />
<!-- Name of input element determines name in $_FILES array -->
Send this file: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
</form>


后台:

复制代码 代码如下:


<?php
$uploaddir = './video/';

foreach($_FILES as $upfile)
{
$uploadfile = $uploaddir.$upfile['name'];

if(move_uploaded_file($upfile['tmp_name'], $uploadfile))
echo "true";
else
{
echo $_FILES['userfile']['error']; //具体见下面的注释
echo "<br/>false";

}
}
?>


【注】
UPLOAD_ERR_OK
值:0; 没有错误发生,文件上传成功。

UPLOAD_ERR_INI_SIZE
值:1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。

UPLOAD_ERR_FORM_SIZE
值:2; 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。

UPLOAD_ERR_PARTIAL
值:3; 文件只有部分被上传。

UPLOAD_ERR_NO_FILE
值:4; 没有文件被上传。

把上述参数修改后,在网络所允许的正常情况下,就可以上传大体积文件了。

在本机上测试上传100M的文件成功。如有问题请留言!

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

如何提高服务器免实名的防御能力

提高服务器免实名防御能力的方法:1、及时更新系统补丁,保证操作系统的安全;2、安装防火墙,并根据自身的网络环境设置防火墙;3、安装杀毒软件,并定时升级杀毒软件和病毒库,防止病毒侵入或成为病毒的传播者;...

护卫神主机管理系统使用说明之主机MySQL管理

感谢大家使用【护卫神·主机管理系统】V3.1,该版本支持在Windows Server 2003/2008/2012,含32位和64位,直接开设配置WEB站、FTP站,以及SQL Server和MyS...

新加坡主机托管要注意哪些事项

新加坡主机托管要注意:1、选择一个可靠的主机托管商,货比三家从提供的服务器资源,后期维护,价格,口碑等方面进行对比;2、托管机房线路管理是否符合自身需求,是否有利于服务器的散热等;3、防护性能是否有保...

美国免费服务器租用如何配置防火墙

美国免费服务器租用配置防火墙的方法:1、将防火墙的所有文件规则进行更改,防止服务器出现故障;2、以最小的权限安装所有的访问规则,防止美国服务器出现防火墙权限过度的规则设置;3、在设置美国服务器防火墙规...

美国服务器为什么会出现网络延迟高的情况

美国服务器会网络延迟高的原因:1、接入美国服务器链路中单个共享进程过多导致;2、美国服务器租用的带宽资源不足导致;3、美国服务器租用的网络配置需求不足导致;4、美国服务器租用后,管理员没有定期维护美国...

主机托管对公司业务发展有什么意义?

  如果你正在寻找为您的企业好的托管解决方案,你会遇到术语托管。就像专用服务器和云主机,主机托管也是你一个托管选项。事实上,它可能是您的最佳选择。  究竟什么是主机托管?  总之,主机托管提供商允许您...