PHP file_get_contents下载带有睡眠时间的图像

时间:2016-09-10 14:06:45

标签: php download sleep

我设法创建了一个类来下载文件(图像),如下所示

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秒可能长或短,具体取决于图像大小。 是否有任何动态为什么要确保图像下载然后移动到下一个下载?

0 个答案:

没有答案