如果图片数量多的情况可以在请求的地方设置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); } }