我正致力于整合在线商店的脚本。
我有这样的代码(简化):
// $asImageurls - array of string with image url's
foreach($asImageurls as $sImageUrl)
{
$imageContent = @file_get_contents($image);
// create filename, save image etc.
}
连接远程服务器,下载图像需要花费大量时间,如果我要导入500个产品,这并不好。
我在考虑一些并行下载,但我不知道如何开始。
我能做些什么,让它更快?
答案 0 :(得分:0)
这个问题主要有两个解决方案:
1)不是直接下载图像,而是将所有网址存储在文件中(最终也是目标路径)。然后,使用cron每n分钟调用一次脚本,为您执行下载。如果很多人同时提交下载,这是避免服务器过载的最佳方法。
2)使用exec()PHP函数。这样您就可以调用所需的每个系统命令。通常在您的情况下卷曲。这样你可以添加&最后把它扔在后台。您甚至可以存储警告和错误,将它们重定向到文件。