PHP fwrite()块到一个大文件/ 504网关超时

丹尼尔

我正在使用一种上传工具,可以将大文件(1GB-4GB)上传到FTP服务器。我使用HTML5将上传的文件切成1MB的块,然后将每个块上传到temp文件夹。只要上传了每个块,PHP脚本就会从这些块中创建文件:

if (($fp = fopen(UPLOAD_DIR.$fileName, 'w')) !== false) {
    for ($i = 1; $i <= $totalFiles; $i++) {
        fwrite($fp, file_get_contents($tempDir.'/'.$fileName.'.part'.$i));               
    }
    fclose($fp);        
}

一切都适用于较小的文件大小(经过1GB-1.5GB的文件测试),但是一旦我上传非常大的文件(例如3GB),我的PHP脚本就会因504网关超时而停止。'max_execution_time'在我的php.ini被设置为90。有什么办法避免这种情况下,还是有办法加快脚本,该脚本创建该文件的504超时?我可以尝试更改“ max_execution_time”,但这似乎不是完美的解决方案。有什么建议?

编辑:脚本在Linux系统上运行

耶罗恩

我不知道您的服务器正在运行什么操作系统,但是如果它是linux,则可以使用例如在命令行中直接尝试exec

就像是:

exec('cat ' . $tempDir . '/' . $fileName . '.part* > ' . UPLOAD_DIR . $fileName);

escapeshellcmd()如果您不控制变量,则可能需要使用它们。

如果.part*没有给您正确的顺序,您还可以在循环中生成部分文件名的列表

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

安装php curl后出现504网关超时/ 502网关错误-服务器Nginx

来自分类Dev

Wordpress-php-fpm中的超时504网关超时nginx

来自分类Dev

Nginx提供的PHP-FPM:504网关超时-Nginx

来自分类Dev

使用Django提供静态文件时,HTTP 504网关超时(Nginx + Gunicorn)

来自分类Dev

504网关超时-两个带负载均衡器的EC2实例

来自分类Dev

每分钟运行一次cron作业,nginx上发生504网关超时

来自分类Dev

504网关超时-上游超时

来自分类Dev

504网关超时-上游超时

来自分类Dev

Nginx / GlassFish的504网关超时

来自分类Dev

nginx和uWSGI给出“ 504网关超时”

来自分类Dev

获取504网关超时状态代码javascript

来自分类Dev

Django的Nginx 504网关超时错误

来自分类Dev

获取清单时收到504网关超时

来自分类Dev

AWS API网关错误,与终端节点通信的网络错误,504网关超时

来自分类Dev

通过 php curl 处理“504 网关超时错误”

来自分类Dev

Nginx和PHP-FPM 502网关错误

来自分类Dev

Nginx和PHP-FPM 502网关错误

来自分类Dev

504网关超时服务器未及时响应。如何解决?

来自分类Dev

Nginx和Unicorn进行Rails部署会导致504网关超时错误

来自分类Dev

org.springframework.web.client.RestTemplate 504网关超时

来自分类Dev

不使用Fiddler代理时的C#HttpClient 504网关超时

来自分类Dev

如果数据库服务器超时,返回HTTP 504网关超时作为响应是否合适?

来自分类Dev

如果数据库服务器超时,返回HTTP 504网关超时作为响应是否合适?

来自分类Dev

PHP:一个大文件或几个小文件

来自分类Dev

1分钟后,Elastic Beanstalk Worker的SQS守护程序获得504网关超时

来自分类Dev

当将Dancer2应用程序作为cgi-script运行时HTTP 504网关超时

来自分类Dev

使用GeckoDriver Selenium和Python在无头模式下使用Firefox 68.9.0esr的504网关超时错误

来自分类Dev

如何使两个接口在同一网络中使用同一网关?

来自分类Dev

Laravel Valet MacOS Catalina:504网关在开发环境外请求超时

Related 相关文章

  1. 1

    安装php curl后出现504网关超时/ 502网关错误-服务器Nginx

  2. 2

    Wordpress-php-fpm中的超时504网关超时nginx

  3. 3

    Nginx提供的PHP-FPM:504网关超时-Nginx

  4. 4

    使用Django提供静态文件时,HTTP 504网关超时(Nginx + Gunicorn)

  5. 5

    504网关超时-两个带负载均衡器的EC2实例

  6. 6

    每分钟运行一次cron作业,nginx上发生504网关超时

  7. 7

    504网关超时-上游超时

  8. 8

    504网关超时-上游超时

  9. 9

    Nginx / GlassFish的504网关超时

  10. 10

    nginx和uWSGI给出“ 504网关超时”

  11. 11

    获取504网关超时状态代码javascript

  12. 12

    Django的Nginx 504网关超时错误

  13. 13

    获取清单时收到504网关超时

  14. 14

    AWS API网关错误,与终端节点通信的网络错误,504网关超时

  15. 15

    通过 php curl 处理“504 网关超时错误”

  16. 16

    Nginx和PHP-FPM 502网关错误

  17. 17

    Nginx和PHP-FPM 502网关错误

  18. 18

    504网关超时服务器未及时响应。如何解决?

  19. 19

    Nginx和Unicorn进行Rails部署会导致504网关超时错误

  20. 20

    org.springframework.web.client.RestTemplate 504网关超时

  21. 21

    不使用Fiddler代理时的C#HttpClient 504网关超时

  22. 22

    如果数据库服务器超时,返回HTTP 504网关超时作为响应是否合适?

  23. 23

    如果数据库服务器超时,返回HTTP 504网关超时作为响应是否合适?

  24. 24

    PHP:一个大文件或几个小文件

  25. 25

    1分钟后,Elastic Beanstalk Worker的SQS守护程序获得504网关超时

  26. 26

    当将Dancer2应用程序作为cgi-script运行时HTTP 504网关超时

  27. 27

    使用GeckoDriver Selenium和Python在无头模式下使用Firefox 68.9.0esr的504网关超时错误

  28. 28

    如何使两个接口在同一网络中使用同一网关?

  29. 29

    Laravel Valet MacOS Catalina:504网关在开发环境外请求超时

热门标签

归档