获取php中的执行时间限制


Get arount execution time limit in php

我有一些函数需要很长时间才能执行(在我的情况下下载一些外部图像),我想避免execution time exceeded错误。

有没有任何方法可以避免这种情况(例如,将单个图像的下载划分为单个php"线程"或类似的东西)?

我无法更改execution time limit或任何ini settings

我不能像在WordPress主题中那样使用cron作品,也不能控制最终用户的平台。

其中一种可能性是制作一个PHP脚本,下载一个外部映像,并使用Ajax调用该脚本。然后,您可以使用JavaScript构建一个用户界面,它为每个图像逐个调用这个PHP脚本。它可以显示一些进度条,具体取决于已经下载了多少图像。

可以。但是,如果远程服务器不了解部分传输下载,则必须托管或代理要按块下载的映像。

然后,您将不得不让您的PHP脚本按块向服务器请求图像

请求

GET /proxy/?url=http://example2.com/myimage.jpg HTTP/1.1
Host: www.example.com
Range: bytes=200-1000

回答

HTTP/1.1 206 Partial Content
Date: Tue, 17 Feb 2015 10:50:59 GMT
Accept-ranges: bytes
Content-range: bytes 200-1000/6401
Content-type: image/jpeg
Content-length: 800

您可以选择多次调用php脚本来获取所有块:自动刷新页面、ajax请求。。。