我设法创建了一个类来下载文件(图像),如下所示
class Downloader
{
private $files = [];
const DOWNLOAD_DIR = './downloads/';
function __construct(array $images)
{
$this->files = $images;
}
function addFile($file)
{
$this->files[] = $file;
}
function downloadFile()
{
foreach ($this->files as $file) {
$content = file_get_contents($file);
if(!empty($content)){
$this->saveFiles($content, 'name-' . time() . '.jpg');
}
sleep(3);
}
}
function saveFiles($content, $name)
{
return file_put_contents(self::DOWNLOAD_DIR . $name, $content);
}
}
$image = [
'http://media.linkonlineworld.com/img/yallakora//Normal//2016/8/3/22016_8_3_23_34.jpg',
'http://media.linkonlineworld.com/img/yallakora//830X390//2016/9/10/Untitled-12016_9_10_14_8.jpg',
'http://media.linkonlineworld.com/img/yallakora//Normal//2016/6/1/10052016_6_1_22_8.jpg'
];
$downloader = new Downloader($image);
$downloader->addFile('http://media.linkonlineworld.com/img/yallakora//830X390//2016/8/24/000_F87RB2016_8_24_9_36.jpg');
$downloader->downloadFile();
我的问题是睡眠(3);因为如果我删除它不会下载所有图像因为循环比从源下载图像更快, 而对于我来说,睡眠()是一个瓶子缺口,因为3秒可能长或短,具体取决于图像大小。 是否有任何动态为什么要确保图像下载然后移动到下一个下载?