【问题标题】:PHP Curl Save Dynamic Image From VKPHP Curl 从 VK 保存动态图像
【发布时间】:2016-11-25 04:37:52
【问题描述】:

我正在尝试将图像从 VK 保存到文件夹。但是图像无法正确保存。

我使用的代码是:

// imageFromURL (Save an image from a URL)
function imageFromURL($url,$saveto){
    $ch = curl_init ($url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
    $raw=curl_exec($ch);
    curl_close ($ch);
    if(file_exists($saveto)){
        unlink($saveto);
    }
    $fp = fopen($saveto,'x');
    fwrite($fp, $raw);
    fclose($fp);
}

imageFromURL('https://vk.com/captcha.php?sid=698254154192&s=1', 'Image/Captcha.png');

我认为它一定不是标准的图像格式?我怎样才能保存它并确保它是带有 CURL 的 png 格式图像?

【问题讨论】:

  • 当我运行它时,图像会正确保存到 Image 文件夹中。然后我就可以打开并查看它。是什么让你认为它没有节省?
  • 这很奇怪,可能是php版本或允许的设置需要更改。

标签: php image curl save


【解决方案1】:

您可以使用exif_imagetype($image) 返回文件的图像类型。 PNG 将返回 3。

此外,您可以在保存前检查:

$mime_type = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);

并检查您可能正在寻找的 MIME 类型。请注意,这涉及到一些信任,因为您依赖远程服务器正确报告该信息。

【讨论】:

  • 有什么方法可以强制使用 CURL 的图像标题?
  • 我修改了答案,希望对您有所帮助。
猜你喜欢
  • 2011-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-16
  • 2010-10-17
  • 2022-10-15
相关资源
最近更新 更多