gd_info

(PHP 4 >= 4.3.0, PHP 5)

gd_infoRetrieve information about the currently installed GD library

Descrierea

array gd_info ( void )

Gets information about the version and capabilities of the installed GD library.

Valorile întoarse

Returns an associative array.

Elements of array returned by gd_info()
Attribute Meaning
GD Version string value describing the installed libgd version.
FreeType Support boolean value. TRUE if FreeType Support is installed.
FreeType Linkage string value describing the way in which FreeType was linked. Expected values are: 'with freetype', 'with TTF library', and 'with unknown library'. This element will only be defined if FreeType Support evaluated to TRUE.
T1Lib Support boolean value. TRUE if T1Lib support is included.
GIF Read Support boolean value. TRUE if support for reading GIF images is included.
GIF Create Support boolean value. TRUE if support for creating GIF images is included.
JPEG Support boolean value. TRUE if JPEG support is included.
PNG Support boolean value. TRUE if PNG support is included.
WBMP Support boolean value. TRUE if WBMP support is included.
XBM Support boolean value. TRUE if XBM support is included.
WebP Support boolean value. TRUE if WebP support is included.

Notă:

Previous to PHP 5.3.0, the JPEG Support attribute was named JPG Support.

Exemple

Example #1 Using gd_info()

<?php
var_dump
(gd_info());
?>

Exemplul de mai sus va afișa ceva similar cu:

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)
}

Istoria schimbărilor

Versiunea Descriere
5.5.0 WebP Support added.
5.3.0 JPG Support attribute renamed to JPEG Support.

Vedeți de asemenea

  • imagepng() - Output a PNG image to either the browser or a file
  • imagejpeg() - Afișează imaginea în navigator sau în fișier
  • imagegif() - Afișează imaginea în navigator sau în fișier
  • imagewbmp() - Afișează imaginea în navigator sau în fișier
  • imagetypes() - Return the image types supported by this PHP build

add a note add a note

User Contributed Notes 2 notes

up
1
yohami dot com - zerodj at hotmail dot com
10 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!
up
0
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.
To Top