Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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_Upload - Fatal编程技术网

如何用很少的php内存上传一个大文件?

如何用很少的php内存上传一个大文件?,php,file-upload,upload,Php,File Upload,Upload,我正在开发一个web(html、php、js、mysql)应用程序,用户可以将视频上传到服务器,服务器将视频存储在一个文件夹中,并在数据库中添加一个条目 作为一个媒体管理器,它对本地电视台或媒体制作人对视频进行分类非常有用 该软件将安装在本地服务器上,因此您可以在几秒钟内上传/下载大型视频文件 问题是我不知道如何处理这么大的上传量。我已经将PHP.ini中的所有设置(post_max_size、upload_max_filesize、所有与scrip时间相关的设置)以及脚本内存限制增加到2G,这

我正在开发一个web(html、php、js、mysql)应用程序,用户可以将视频上传到服务器,服务器将视频存储在一个文件夹中,并在数据库中添加一个条目

作为一个媒体管理器,它对本地电视台或媒体制作人对视频进行分类非常有用

该软件将安装在本地服务器上,因此您可以在几秒钟内上传/下载大型视频文件

问题是我不知道如何处理这么大的上传量。我已经将PHP.ini中的所有设置(post_max_size、upload_max_filesize、所有与scrip时间相关的设置)以及脚本内存限制增加到2G,这是系统允许我在不崩溃的情况下放置的最大值

我可以上传高达1GB的文件,没有问题。在1GB和2GB之间,我收到以下消息:

Warning: POST Content-Length of [filesize] bytes exceeds the limit of 1073741824 bytes in Unknown on line 0
其中[filsezize]是我正在上载的文件的大小(以字节为单位)

对于超过2GB的文件,当浏览器已上载2GB且错误始终为:

Warning: POST Content-Length of 2147483647 bytes exceeds the limit of 1073741824 bytes in Unknown on line 0
我认为这是因为服务器没有足够的内存,但是由于用户可能上传20GB的文件,增加内存不是一个解决方案

有没有一种方法可以在不使用太多系统内存的情况下上传非常大的文件

编辑:即使使用不同的技术。JavaScript也可以做到?任何事情。但尽可能简单

YouTube如何处理他的上传

服务器是一个Synology Diskstation,所以我有很多磁盘空间,但没有多少cpu或内存


谢谢!;)

php对于上传来说是非常愚蠢的。您需要有一个大于上传文件的内存限制,另外apache和php中都有post大小限制。如果您需要上传“大”文件,那么不要使用PHP来处理它们。