0

このエラーの原因は何ですか?

致命的なエラー: 5 行目の /var/www/polaroid.php の未定義関数 imagefilter() の呼び出し
  1 <?PHP
  2   $img_addr = $_GET['image_address'];
  3   $img = imagecreatefromjpeg($img_addr);
  4
      /* everything works as expected without this line */
  5   imagefilter($img, IMG_FILTER_GRAYSCALE);  
  6
  7   if ($img)
  8   {
        /* I moved the header function here so I can see errors in the browser. 
           If I leave it at the top of the file, the browser expects an image 
           and doesn't print the error messages. */
  9     header('Content-type: image/jpeg');
 10     imagejpeg($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 Support  enabled
GD Version  2.0 or higher
FreeType Support    enabled
FreeType Linkage    with freetype
FreeType Version    2.3.7
T1Lib Support   enabled
GIF Read Support    enabled
GIF Create Support  enabled
JPG Support     enabled
PNG Support     enabled
WBMP Support    enabled 

ありがとう!

4

4 に答える 4

3

imagefilter は、バンドルされた GD ライブラリに対して PHP が再度コンパイルされた場合にのみ使用できるようです (これは、バンドルされているものと有効になっているものの違いです)。Ubuntu を使用しているため、リポジトリにあるバージョンの php には GD がバンドルされていません。

于 2010-02-07T20:22:32.607 に答える
2

どのバージョンの PHP を使用していますか? imagefilter は PHP5 関数のようです... http://us3.php.net/manual/en/function.imagefilter.php

編集: あなたのコードは私のバージョンの PHP で動作します。参考までに、私のphpinfoは次のとおりです。

gd
GD Support  enabled
**GD Version    bundled (2.0.34 compatible)**
FreeType Support    enabled
FreeType Linkage    with freetype
FreeType Version    2.1.9
T1Lib Support   enabled
GIF Read Support    enabled
GIF Create Support  enabled
JPG Support     enabled
PNG Support     enabled
WBMP Support    enabled
XBM Support     enabled

GD バージョンがバンドルされていることを確認することをお勧めします。GD サポートが有効になっているがバンドルされていないと言うインストールを見たことがあります。それが違いを生むかどうかはわかりません。

于 2009-02-18T23:41:41.150 に答える
1

http://www.php.net/manual/en/function.imagefilter.php通知があります:

: この関数は、PHP が GD ライブラリのバンドル バージョンでコンパイルされている場合にのみ使用できます。

于 2011-01-07T15:43:41.160 に答える
0

2016 年の更新と同様に、PHP 5.3 では外部 GD の使用が許可されましたが、これは何らかの理由で明快/正確では機能しませんでした。trusty では、PHP 5.5 を使用して、imageantialias、ソースhttps://bugs.launchpad.net/ubuntu/+source/php5/+bug/74647/comments/61 (および以前のコメント) を除くすべての画像関数が機能しています。

于 2016-11-19T08:16:33.620 に答える