PHP Curl 从 VK 保存动态图像
Posted
技术标签:
【中文标题】PHP Curl 从 VK 保存动态图像【英文标题】:PHP Curl Save Dynamic Image From 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版本或允许的设置需要更改。 【参考方案1】:您可以使用exif_imagetype($image)
返回文件的图像类型。 PNG 将返回 3。
此外,您可以在保存前检查:
$mime_type = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);
并检查您可能正在寻找的 MIME 类型。请注意,这涉及到一些信任,因为您依赖远程服务器正确报告该信息。
【讨论】:
有什么方法可以强制使用 CURL 的图像标题? 我修改了答案,希望对您有所帮助。以上是关于PHP Curl 从 VK 保存动态图像的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 php gd 库加载动态图像,不将其保存在服务器上或使用 src="script.php"?