Question

Quelle est la cause de cette erreur?

Fatal error: Call to undefined function imagefilter() in /var/www/polaroid.php on line 5
  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

Ceci est l'URL que j'utilise:

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

NOTE: GD est listé dans la sortie de phpinfo ().

EDIT: J'utilise la version PHP 5.2.6-2ubuntu4.1

Une autre EDIT:

phpinfo (), on obtient ce, dans la partie 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 

Merci!

Était-ce utile?

La solution

Quelle version de PHP utilisez-vous? Il ressemble à imagefilter est une fonction ... http: //us3.php .net / manuel / fr / function.imagefilter.php

EDIT: Votre code fonctionne sur ma version de PHP. Pour référence, voici mon 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

Vous pouvez vous assurer que la version GD est fournie. J'ai vu des installations qui disent GD support est activé mais pas empaqueté. Je ne sais pas si cela fait une différence bien.

Autres conseils

imagefilter semble être disponible que si PHP est compilé agains la bibliothèque GD fourni qui dans votre cas, il n'est pas (c'est la différence entre le compactés et activé). Puisque vous utilisez Ubuntu la version de php que vous trouvez dans le référentiel ne GD est fourni.

http://www.php.net/manual/en/function. imagefilter.php il y a un avis:

  

Remarque : Cette fonction est disponible uniquement si PHP est compilé avec la   version embarquée de la bibliothèque GD.

Tout comme une mise à jour 2016, PHP 5.3 a permis GD externe à utiliser, mais cela ne fonctionne pas pour une raison quelconque dans lucide / précis. fidèle, avec PHP 5.5, ne possède toutes ces fonctions d'image de travail, sauf imageantialias, source https://bugs.launchpad.net/ubuntu/+source/php5/+bug/74647/comments/61 (et commentaires précédents).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top