如何用PHP下载图像?

时间:2009-11-26 08:32:13

标签: php image

假设图像的网址在这里:

http://sstatic.net/so/img/logo.png

如何使用PHP下载?

3 个答案:

答案 0 :(得分:4)

$fp = fopen('logo.png', 'w');
fwrite($fp, file_get_contents('http://sstatic.net/so/img/logo.png'));
fclose($fp);

答案 1 :(得分:3)

我会简单file_get_contentsfile_put_contents会这样做

$content = file_get_contents('http://sstatic.net/so/img/logo.png')
file_put_contents('logo.png', $content);

必须注意的是,通过这种方式,整个文件将被存储在内存中,因此您必须小心memory_limit。如果你需要一个方法而不将文件放在内存curl中就可以了。

答案 2 :(得分:0)

您可以使用卷曲请求:

public static function curlGet($url)
{
  $ch = curl_init($url);
  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
  curl_setopt($ch, CURLOPT_HEADER, 0);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  $content = curl_exec($ch);
  curl_close($ch);
  return $content;
}

并将内容回复写入文件

$fp = fopen('logo.png', 'w');
fwrite($fp, curlGet('http://sstatic.net/so/img/logo.png') );
fclose($fp);