Erreur fatale: Appel à imagefilter undefined function ()
-
05-09-2019 - |
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!
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).