我在PHP中使用getimagesize来获取有关我脚本中图像的信息......
$thumb = "http://i.ytimg.com/vi/u6XAPnuFjJc/hqdefault.jpg";
$imageInfo = getimagesize($thumb);
问题是在我的一台服务器上,它返回错误:
getimagesize()[function.getimagesize]:在服务器配置中禁用了URL文件访问
我将无法在此特定服务器上修复此配置问题。我想知道是否有人对如何解决这个问题有任何想法。是否可以拍摄图像,将其保存到临时文件中,然后根据临时图像使用getimagesize?完成所有操作后,就需要删除临时文件。
如果可以,我该怎么做?
答案 0 :(得分:1)
听起来你有fopen()
URL wrappers disabled allow_url_fopen = off
。
您需要使用类似cURL的内容进行下载,然后在其上运行list($width, $height) = getimagesize()
。
答案 1 :(得分:0)
由于您可以更改服务器配置,请检查是否已启用CURL。
如果是,则可以使用CURL在本地复制图像并在其上运行getimagesize。
答案 2 :(得分:0)
如果未启用CURL,您仍然可以使用套接字和HTTP请求在本地复制图像 - 您还可以使用它来检查filesize(Content-Length
标头)以确保您的脚本不会下载大量文件(有人试图通过XD来管理我的网站)