没有javascript的PHP getimagesize()替代品?

时间:2010-01-27 06:39:53

标签: php image size

假设我有一个图像的URL,并且在服务器配置中禁用了URL文件访问,这不是我可以(或想要)改变的东西,是否有一种简单的方法可以使用PHP获取它的高度/宽度? 如果可能的话,我宁愿不使用javascript。

3 个答案:

答案 0 :(得分:0)

嗯,所以你要把网络上的图像拉到你的PHP应用程序“找到”大小,然后大概发出一个带有大小的HTML img?对我来说似乎有点时髦。

答案 1 :(得分:0)

为了检查远程图像,您将不得不以某种方式请求它。您无法确定无法看到的内容的属性。如果为PHP安装禁用了远程文件访问,则可能必须将其置于系统级进程,例如wget,cURL或ftp。

如果您的主机已禁用远程文件访问权限,他们可能也禁用了shell访问权限,但是作为示例,您可以执行以下操作:

exec("wget ".$url);

另一种选择可能是使用built-in cURL package,如果通过一些奇怪的配置安装并激活,尽管没有远程文件访问权。

如果您可以找到从远程服务器下载图像的方法,可以使用getimagesize()

答案 2 :(得分:0)

这实际上没有多大意义,因为如果您可以在网页上查看图像,则可以通过URL直接访问该图像。换句话说,为什么你有一个无法通过网址访问的图像的网址?

无论如何,您可以使用任意数量的http / url库在请求的标头中设置用户代理。基本上,你欺骗服务器相信浏览器正在访问文件,而不是匿名服务。

以下是您可以用于此目的的browser user agents列表。