Home >Backend Development >PHP Tutorial >PHP关于GetImageSize 判断网络图片类型问题

PHP关于GetImageSize 判断网络图片类型问题

WBOY
WBOYOriginal
2016-06-23 14:20:501337browse

本帖最后由 ciscole 于 2013-09-02 14:39:26 编辑

$data = GetImageSize($logoUrl); if $data[2] =='1' {	$logo = ImageCreateFromGIF($logoUrl); }else if $data[2] =='2' {	$logo = ImageCreateFromJPEG($logoUrl); } else {	$logo = ImageCreateFromPNG($logoUrl); }


我这样写有错吗?那应该如何写!才学php 两天
我的要解决的问题是这样的:
就是一个图片的URL,这个图片URL 格式大致是这样的http://www.x.com/logo.php?XXXXXX (无扩展名)
这个图片可能是jpg,也可能是gif,也可能是png
我该怎么做!

回复讨论(解决方案)

没有人帮我我?

这样写没错,但不严密。
不是1,不是2,就一定是 png 吗?不会是其他的吗?

因为处理的是网络图片,你这样做需要以极短的间隙两次访问同一图片,很容易引起防盗链的警觉
并且网络的情况是复杂的,并不能说两次都一定能成功
这样写比较好

if($s = file_get_contents($logoUrl)) {  $logo = imagecreatefromstring($s);

这样写没错,但不严密。
不是1,不是2,就一定是 png 吗?不会是其他的吗?

因为处理的是网络图片,你这样做需要以极短的间隙两次访问同一图片,很容易引起防盗链的警觉
并且网络的情况是复杂的,并不能说两次都一定能成功
这样写比较好

if($s = file_get_contents($logoUrl)) {  $logo = imagecreatefromstring($s);


这样写就不需要判断了是吗?

是的,不需要判断图片类型
当然,不是 GD 支持的图片也还是会出错的,但概率很小

是的,不需要判断图片类型
当然,不是 GD 支持的图片也还是会出错的,但概率很小


谢谢!解决问题!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn