An easy way to get the numeric value for the GD Version :
$Version = ereg_replace('[[:alpha:][:space:]()]+', '', $GDArray['GD Version']);
gd_info
(PHP 4 >= 4.3.0, PHP 5)
gd_info — Retourne des informations à propos de la bibliothèque GD installée
Description
array gd_info
( void
)
Retourne des informations à propos de la bibliothèque GD installée.
Valeurs de retour
Retourne un tableau associatif.
| Attribut | Signification |
|---|---|
| GD Version | chaîne de caractères décrivant la version de libgd qui est installée. |
| FreeType Support | booléen. TRUE
si le support FreeType est installé. |
| FreeType Linkage | chaîne de caractères décrivant la façon avec
laquelle FreeType a été lié. Les valeurs attendues sont :
'with freetype', 'with TTF library' et
'with unknown library'. Cet élément ne sera
défini que si FreeType Support est évalué
TRUE. |
| T1Lib Support | booléen. TRUE
si le support T1Lib est inclus. |
| GIF Read Support | booléen. TRUE
si le support pour la lecture des images
GIF est inclus. |
| GIF Create Support | booléen. TRUE
si le support pour la création des images
GIF est inclus. |
| JPEG Support | booléen. TRUE
si le support de JPEG est inclus. |
| PNG Support | booléen. TRUE
si le support de PNG est inclus. |
| WBMP Support | booléen. TRUE
si le support de WBMP est inclus. |
| XBM Support | booléen. TRUE
si le support de XBM est inclus. |
| WebP Support | Valeur boolean. TRUE
si le support WebP est inclus. |
Note:
Avant PHP 5.3.0, l'attribut JPEG Support était nommé JPG Support.
Exemples
Exemple #1 Exemple avec gd_info()
<?php
var_dump(gd_info());
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
array(9) {
["GD Version"]=>
string(24) "bundled (2.0 compatible)"
["FreeType Support"]=>
bool(false)
["T1Lib Support"]=>
bool(false)
["GIF Read Support"]=>
bool(true)
["GIF Create Support"]=>
bool(false)
["JPEG Support"]=>
bool(false)
["PNG Support"]=>
bool(true)
["WBMP Support"]=>
bool(true)
["XBM Support"]=>
bool(false)
}
Historique
| Version | Description |
|---|---|
| 5.5.0 | Ajout du support WebP. |
| 5.3.0 | L'attribut JPG Support est renommé en JPEG Support. |
Voir aussi
- imagepng() - Envoie une image PNG vers un navigateur ou un fichier
- imagejpeg() - Affichage de l'image vers le navigateur ou dans un fichier
- imagegif() - Affichage de l'image vers le navigateur ou dans un fichier
- imagewbmp() - Affichage de l'image vers le navigateur ou dans un fichier
- imagetypes() - Retourne les types d'images supportés par la version courante de PHP
Michael Z ¶
7 years ago
Hagan Fox ¶
8 years ago
This function safely determines the GD version, even on PHP versions earlier than 4.3 that lack the gd_info() function. Use it to avoid having your script halt with a fatal error if you try to use a TrueColor function and the GD version isn't 2.0 or later.
You can optionally specify a version, but if you specify version 2 it might be overridden. Once the version number is determined it's retained to speed future calls.
<?php
/**
* Get which version of GD is installed, if any.
*
* Returns the version (1 or 2) of the GD extension.
*/
function gdVersion($user_ver = 0)
{
if (! extension_loaded('gd')) { return; }
static $gd_ver = 0;
// Just accept the specified setting if it's 1.
if ($user_ver == 1) { $gd_ver = 1; return 1; }
// Use the static variable if function was called previously.
if ($user_ver !=2 && $gd_ver > 0 ) { return $gd_ver; }
// Use the gd_info() function if possible.
if (function_exists('gd_info')) {
$ver_info = gd_info();
preg_match('/\d/', $ver_info['GD Version'], $match);
$gd_ver = $match[0];
return $match[0];
}
// If phpinfo() is disabled use a specified / fail-safe choice...
if (preg_match('/phpinfo/', ini_get('disable_functions'))) {
if ($user_ver == 2) {
$gd_ver = 2;
return 2;
} else {
$gd_ver = 1;
return 1;
}
}
// ...otherwise use phpinfo().
ob_start();
phpinfo(8);
$info = ob_get_contents();
ob_end_clean();
$info = stristr($info, 'gd version');
preg_match('/\d/', $info, $match);
$gd_ver = $match[0];
return $match[0];
} // End gdVersion()
// Usage:
if ($gdv = gdVersion()) {
if ($gdv >=2) {
echo 'TrueColor functions may be used.';
} else {
echo 'GD version is 1. Avoid the TrueColor functions.';
}
} else {
echo "The GD extension isn't loaded.";
}
?>
The function only detects the GD version, but you could determine GD capabilities in a similar manner.
yohami dot com - zerodj at hotmail dot com ¶
9 years ago
A cool resize / cropping script for creating thumbnails using mogrify
IMAGETEST.PHP
<?php
include 'mogrify.php';
// variables from flash (my website uses flash and php)
$picture="sample.jpg";
$fixedwidth=300;
$fixedheight=240;
//
cropimage($picture,$fixedwidth,$fixedheight,$mogrify);
?>
MOGRIFY.PHP
<?php
// walking the path
$mogrify="C:/apache/Imagik/mogrify.exe";
// ---------------------------------------- crop function
function cropimage($picture,$fixedwidth,$fixedheight,$mogrify) {
// GET IMG
$img = imagecreatefromjpeg($picture);
$width= imagesx($img);
$height= imagesy($img);
// CROP WIDTH
if($width!=$fixedwidth){
$ratio =$fixedwidth/$width;
$NewHeight=round($height*$ratio);
$NewWidth=round($width*$ratio);
exec( $mogrify." -resize ".$NewWidth."x".$NewHeight."! $picture");
exec( $mogrify." -crop ".$fixedwidth."x".$fixedheight."+0+0 $picture");
// REFRESH
$img = imagecreatefromjpeg($picture);
$width= imagesx($img);
$height= imagesy($img);
}
// CROP HEIGHT
if($height!=$fixedheight){
$ratio =$fixedheight/$height;
$NewHeight=round($height*$ratio);
$NewWidth=round($width*$ratio);
exec( $mogrify." -resize ".$NewWidth."x".$NewHeight."! $picture");
exec( $mogrify." -crop ".$fixedwidth."x".$fixedheight."+0+0 $picture");
}
//
ImageDestroy($img);
}
?>
yeah!
