在后台PHP中下载外部文件

Download external file in background PHP?

本文关键字:外部 文件 下载 后台 PHP      更新时间:2023-09-26

我有三周的时间来寻找这个:

我有这个页面,它必须在验证用户提供的数据后下载一个文件。我进行验证并执行一个外部脚本,该脚本会给我一个URL。我用这个URL下载另一个文件,稍后我会执行。

我曾尝试用curl、wget、file_put_content、javascript、ajax和jquery下载该文件,但没有成功,该文件为150MB+,所以我创建了一个很好的进度条来告诉用户下载进展如何,并且已经有了读取下载大小的方法。

事实上,我可以用cURL下载文件,但问题是"do_form.php"在文件完全下载之前不会加载,所以我想先加载页面,然后在后台下载文件,这样我就可以向用户显示下载进度。

请告诉我这是可能的。。。谢谢

看看Gearman。也许齿轮工背景的工作适合你的需求。此作业甚至可以在与web服务器相同的计算机上运行。当然,对页面的早期响应有一个缺点,即它不包含成功信息。您需要再次使用AJAX轮询该信息。

如果你决定这样做,你也应该看看GearmanManager,因为这会大大简化事情。