没有URL文件访问的PHP getimagesize

时间:2010-12-02 01:00:15

标签: php getimagesize

我在PHP中使用getimagesize来获取有关我脚本中图像的信息......

$thumb = "http://i.ytimg.com/vi/u6XAPnuFjJc/hqdefault.jpg";
$imageInfo = getimagesize($thumb);

问题是在我的一台服务器上,它返回错误:

  

getimagesize()[function.getimagesize]:在服务器配置中禁用了URL文件访问

我将无法在此特定服务器上修复此配置问题。我想知道是否有人对如何解决这个问题有任何想法。是否可以拍摄图像,将其保存到临时文件中,然后根据临时图像使用getimagesize?完成所有操作后,就需要删除临时文件。

如果可以,我该怎么做?

3 个答案:

答案 0 :(得分:1)

听起来你有fopen() URL wrappers disabled allow_url_fopen = off

您需要使用类似cURL的内容进行下载,然后在其上运行list($width, $height) = getimagesize()

答案 1 :(得分:0)

由于您可以更改服务器配置,请检查是否已启用CURL。

如果是,则可以使用CURL在本地复制图像并在其上运行getimagesize。

http://php.net/manual/en/book.curl.php

答案 2 :(得分:0)

如果未启用CURL,您仍然可以使用套接字和HTTP请求在本地复制图像 - 您还可以使用它来检查filesize(Content-Length标头)以确保您的脚本不会下载大量文件(有人试图通过XD来管理我的网站)