使用Laravel 5.4将照片从链接保存到存储

时间:2017-09-08 03:37:06

标签: php curl laravel-5.4

抱歉新手问题,我使用PHP curl将照片存储在我Laravel项目中外部来源的公共文件夹中。现在我想将它们存储在存储器中,但我很难弄明白。

所以问题是:如何使用curl将照片存储在存储空间中?

这是我的代码: //下载照片

        mkdir('photos/' . $car->car_id);

        $num = 0;

        foreach (explode('#', $car->pics_urls) as $url)
        {
            $curlCh = curl_init();
            curl_setopt($curlCh, CURLOPT_URL, $url);
            curl_setopt($curlCh, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($curlCh, CURLOPT_SSLVERSION,3);
            $curlData = curl_exec ($curlCh);
            curl_close ($curlCh);

            $downloadPath = 'photos/' . $car->car_id . '/' . ++$num . '.jpg' ;
            $file = fopen($downloadPath, "w+");
            fputs($file, $curlData);
            fclose($file);

        }

1 个答案:

答案 0 :(得分:1)

$num = 0;
foreach (explode('#', $car->pics_urls) as $url)
{
    $curlCh = curl_init();
    curl_setopt($curlCh, CURLOPT_URL, $url);
    curl_setopt($curlCh, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curlCh, CURLOPT_SSLVERSION,3);
    $curlData = curl_exec ($curlCh);
    curl_close ($curlCh);
    if(!empty($curlData)){
        Storage::disk('local')->put('photos/' . $car->car_id . '/' . ++$num . '.jpg', $curlData);
    }
}

在开头之前添加使用存储;