4

我正在编写集成在线商店的脚本。

我有这样的代码(简化):

// $asImageurls - array of string with image url's

foreach($asImageurls as $sImageUrl)
{
$imageContent = @file_get_contents($image);
    // create filename, save image etc.
}

与远程服务器连接,下载图像需要很长时间,当我要导入大约 500 个产品时,这并不好。

我在考虑一些并行下载,但我不知道如何开始。

我该怎么做才能让它更快?

4

1 回答 1

0

这个问题有两个主要的解决方案:

1)不要直接下载图像,而是将所有 url 存储在一个文件中(最终也是目标路径)。然后,使用 cron 每 n 分钟调用一次脚本,该脚本将为您完成下载。如果很多人同时提交下载,这是避免服务器过载的最佳方法。

2) 使用 exec() PHP 函数。这样你就可以调用你想要的每一个系统命令。通常卷曲在你的情况下。这样,您可以在最后添加 & 以将其放入后台。您甚至可以存储将它们重定向到文件的警告和错误。

于 2013-05-22T17:12:59.023 回答