在字符串中使用&符号的PHP getimagesize会产生错误

时间:2010-03-12 03:50:26

标签: php image ampersand getimagesize

我在PHP中使用了getimagesize函数,并且路径字符串包含一个&符号,否则就没问题了。 该页面给出了我在调用getimagesize()时出错的错误。不过,看一下源代码,我看到&符号正在通过& amp;而不只是& 我认为这会导致错误,因为PHP不需要将其转换为html标记以便找到路径,对吧?

这是错误:

  

警告:getimagesize(image.php?name = username& pic = picture)[function.getimagesize]:无法打开流:没有这样的文件或目录

1 个答案:

答案 0 :(得分:1)

如果您希望getimagesize从远程服务器获取图像,通过发送HTTP请求并下载它,您需要使用绝对URL (从http://domainname.ext/...开始)


例如,这部分代码:

$url = 'http://static.php.net/www.php.net/images/php.gif?test=glop&blah=huhu';
$data = getimagesize($url);
var_dump($data);

给我:

array
  0 => int 120
  1 => int 67
  2 => int 1
  3 => string 'width="120" height="67"' (length=23)
  'bits' => int 7
  'channels' => int 3
  'mime' => string 'image/gif' (length=9)


如果您不想获取远程映像,则需要指定与运行PHP的映像存在于同一台机器上的映像的路径。

而且,在您的情况下,我怀疑您有一个名为'image.php?name=username&pic=picture'的物理文件。