XuLaLa.Tech

首页客户端下载Windows 使用V2Ray 教程SSR 教程Clash 教程

php如何下载图片?

2025.04.09

在php中如何使用代码快速下载图片,在下载的过程一般会遇到两个问题,1.需要翻墙,使用代理 ; 2.图片资源有跳转,如果遇到这两个问题,下载图片就会有点复杂,通常都会使用curl来实现。

一、简单图片下载

使用场景:图片url比较明确

$url = 'http://example.com/image.php';
$img = '/my/folder/flower.gif';
file_put_contents($img, file_get_contents($url));

二、curl命令下载图片

使用场景:

  • 需要代理
  • 图片链接有跳转,不能直接下载
  • 需要设置userAgent
function curl2saveimg($url, $name) {
$image = 'images/' . $name . '.png';
$ch = curl_init($url);
$fp = fopen($image, 'wb');
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch,CURLOPT_TIMEOUT,10);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_PROXY, 'socks5://127.0.0.1:8080');
if(curl_exec($ch) === false) {
// echo 'Curl error: ' . curl_error($ch);
echo '下载' . $url . '失败' . curl_error($ch) . PHP_EOL;
fclose($fp);
curl_close($ch);
unlink($image);
return;
} else {
echo '成功下载' . $url . PHP_EOL;
}
curl_close($ch);
fclose($fp);
}

结论

具体使用哪种方式下载取决具体的场景,最后不要相信网上免费的代理,大概率都是不能用的。

© 2010-2022 XuLaLa 保留所有权利 本站由 WordPress 强力驱动
请求次数:69 次,加载用时:0.665 秒,内存占用:32.19 MB