Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中在服务器上分块上传大文件?_Php_File Upload - Fatal编程技术网

如何在php中在服务器上分块上传大文件?

如何在php中在服务器上分块上传大文件?,php,file-upload,Php,File Upload,如何将一个大文件分块并上传到服务器 我尝试了简单的move\u uploaded\u file()函数,但它只上传2MB大小的文件 尝试将此代码放在代码顶部 ini_set('upload_max_filesize', '10M'); ini_set('post_max_size', '10M'); ini_set('max_input_time', 300); ini_set('max_execution_time', 300); 使用此方法增加上载最大文件大小限制: 方法#1:编辑php.

如何将一个大文件分块并上传到服务器


我尝试了简单的
move\u uploaded\u file()
函数,但它只上传2MB大小的文件

尝试将此代码放在代码顶部

ini_set('upload_max_filesize', '10M');
ini_set('post_max_size', '10M');
ini_set('max_input_time', 300);
ini_set('max_execution_time', 300);

使用此方法增加上载最大文件大小限制:

方法#1:编辑php.ini

编辑php.ini文件(通常存储在/etc/php.ini或/etc/php.d/cgi/php.ini或/usr/local/etc/php.ini中):

样本输出:

memory_limit = 32M
upload_max_filesize = 10M
post_max_size = 20M
保存并关闭文件。重新启动apache或lighttpd web服务器:

方法#2:编辑.htaccess

在根目录中编辑.htaccess文件。当您无法访问php.ini文件时,这非常有用。在本例中,/home/httpd/html被视为根目录(您也可以在本地创建.htaccess文件,然后使用ftp/sftp/scp-client将其上载):

追加/修改设置,如下所示:

php_value upload_max_filesize 10M
php_value post_max_size 20M
php_value memory_limit 32M
保存并关闭文件

方法#3:编辑PHP文件

ini_set('upload_max_filesize', '10M');
ini_set('post_max_size', '10M');
ini_set('max_input_time', 300);
ini_set('max_execution_time', 300);
在此之后,您可以检查:

<?php
   phpinfo();
?>

检查此项以获取区块上载

实际上,您可以更新php ini以允许上载更大的文件

Maximum allowed size for uploaded files.
upload_max_filesize = 100M;

Must be greater than or equal to upload_max_filesize
post_max_size = 100M;
但是,如果您仍然需要上传巨大的文件,并且必须进行分块,那么有很多javascript实现,其中之一是:


这是一个类,可以帮助您使用模式字符串将大文件分块,并在服务器级别重新组装它们


由于您没有提到您正在谈论的文件格式,该类需要进行一些调整和测试,您才能使用。

thnx了解您的答案,但我想通过将其分块上传,然后在服务器站点上进行合并。请尝试。
<?php
   phpinfo();
?>
Maximum allowed size for uploaded files.
upload_max_filesize = 100M;

Must be greater than or equal to upload_max_filesize
post_max_size = 100M;