php圖片批量下載

代碼

如果圖片數量多的情況可以在請求的地方設置set_time_limit(0);,PHP程序執行時間不做限制

<?php
/**
 * Created by PhpStorm.
 * User: EricPan
 * Date: 2020/7/1
 * Time: 16:03
 */

namespace App\Repository;


class SpiderRepository
{
    /**
     * 圖片下載
     * Created by PhpStorm.
     * User: EricPan
     * Date: 2020/7/1
     * Time: 16:03
     * @param $url
     * @param string $path
     */
    public function downloadImage($url, $path='images/')
    {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
        $file = curl_exec($ch);
        curl_close($ch);

        $this->saveAsImage($url, $file, $path);
    }

    /**
     * 圖片保存
     * Created by PhpStorm.
     * User: EricPan
     * Date: 2020/7/1
     * Time: 16:03
     * @param $url
     * @param $file
     * @param $path
     */
    private function saveAsImage($url, $file, $path)
    {
        $filename = pathinfo($url, PATHINFO_BASENAME);
        $resource = fopen($path . $filename, 'a');
        fwrite($resource, $file);
        fclose($resource);
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章