0

是什么导致了这个错误?

致命错误:调用第5行/var/www/pollaoid.php中未定义的函数imagefilter()
1 <?菲律宾比索2$img_addr=$_GET['image_address'];3$img=图像创建fromjpeg($img_addr);4/*没有这条线,一切都按预期运行*/5图像过滤器($img,img_FILTER_GRAYSCALE);67如果($img)8   {/*我将header函数移到了此处,以便在浏览器中看到错误。如果我把它放在文件的顶部,浏览器需要一个图像并且不打印错误消息*/9标题(“内容类型:image/jpeg”);10图像jpeg($img);11   }12 ?>13

这是我使用的URL:

http://localhost/polaroid.php?image_address=http://mattnelsoninfo.files.wordpress.com/2008/04/ceiling_cat1.jpg

注意:gd列在phpinfo()的输出中。

编辑:我正在使用PHP 5.2.6-2ubuntu4.1版

另一个编辑:

phpinfo()在gd部分中生成

gd公司GD支持已启用GD 2.0版或更高版本已启用FreeType支持带有FreeType的FreeType链接FreeType 2.3.7版已启用T1Lib支持已启用GIF读取支持启用GIF创建支持已启用JPG支持已启用PNG支持启用WBMP支持

谢谢!

4个答案4

重置为默认值

imagefilter似乎只有在PHP是根据捆绑的GD库编译的情况下才可用,而在您的情况下则不是这样(这就是捆绑和启用的区别)。因为您使用的是Ubuntu,所以您在存储库中找到的php版本没有绑定GD。

2

您使用的是什么版本的PHP?图像过滤器似乎是一个PHP5函数。。。https://www.php.net/manual/en/function.imagefilter.php网址

编辑:您的代码适用于我的PHP版本。作为参考,这里是我的phpinfo:

gd公司GD支持已启用**捆绑GD版本(2.0.34兼容)**已启用FreeType支持带有自由型的自由型连杆FreeType版本2.1.9已启用T1Lib支持已启用GIF读取支持启用GIF创建支持启用JPG支持已启用PNG支持启用WBMP支持已启用XBM支持

您可能希望确保GD版本已绑定。我见过安装程序说GD支持是启用的,但不是绑定的。但不确定这是否会产生影响。

8
  • 1
    所以我假设调用function_exists('imagefilter')返回false,对吗?
    – 布赖恩
    评论 2009年2月19日0:05
  • 对的。不过还是要谢谢你。我不知道function_exists() 评论 2009年2月19日0:12
  • 可以显示phpinfo()的gd部分吗?你看到“GD版本捆绑(2.0.34兼容)”了吗?我知道有些人只看到“GD支持启用”,但他们没有这样的行,即该版本是绑定的。
    – 布赖恩
    评论 2009年2月19日0:14
  • 没有捆绑!我们可能会发现。。。知道怎么改变吗? 评论 2009年2月19日0:41
  • 不确定,但在php.net上imagefilter的注释中,它说“注意:此函数仅在php与GD库的捆绑版本一起编译时可用。”所以我确实认为这是问题所在;它必须打包。也许可以尝试新的安装?对不起,不知道你还能做什么。
    – 布赖恩
    评论 2009年2月19日0:47
1

http://www.php.net/manual/en/function.imagefilter.php有一个通知:

注释:只有使用GD库的捆绑版本。

0

正如2016年的更新一样,PHP5.3允许使用外部GD,但由于某些原因,这在清晰/精确方面不起作用。trusty使用PHP 5.5,除了imageantialias、source之外,其他所有图像函数都可以工作https://bugs.launchpad.net/ubuntu/+来源/php5/+bug/74647/comments/61(和之前的评论)。

你的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.

不是你想要的答案吗?浏览标记的其他问题问你自己的问题.