downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

getimagesize> <GD и функции для работы с изображениями Функции
[edit] Last updated: Fri, 17 May 2013

view this page in

gd_info

(PHP 4 >= 4.3.0, PHP 5)

gd_info Вывод информации о текущей установленной GD библиотеке

Описание

array gd_info ( void )

Получает информацию о версии и возможностях установленной GD библиотеки.

Возвращаемые значения

Возвращает ассоциативный массив.

Элементы массива, возвращаемого из gd_info()
Атрибут Смысловое значение
GD Version Строка string содержащая версию libgd.
FreeType Support boolean значение. TRUE, если компонент FreeType Support установлен.
FreeType Linkage Строка string содержащая описание, каким образом подключен компонент FreeType. Ожидаемые значения: 'with freetype', 'with TTF library', и 'with unknown library'. Этот элемент будет определен, только если FreeType Support имеет значение TRUE.
T1Lib Support boolean значение. TRUE, если T1Lib поддержка включена.
GIF Read Support boolean значение. TRUE, если включена поддержка чтения (reading) GIF изображений.
GIF Create Support boolean значение. TRUE, если включена поддержка записи (creating) GIF изображений.
JPEG Support boolean значение. TRUE, если включена поддержка JPEG.
PNG Support boolean значение. TRUE, если включена поддержка PNG.
WBMP Support boolean значение. TRUE, если включена поддержка WBMP.
XBM Support boolean значение. TRUE, если включена поддержка XBM.

Замечание:

В версиях PHP ранее 5.3.0, атрибут JPEG Support назывался JPG Support.

Примеры

Пример #1 Использование gd_info()

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

Результатом выполнения данного примера будет что-то подобное:

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

Список изменений

Версия Описание
5.3.0 Атрибут JPG Support переименован в JPEG Support.

Смотрите также

  • imagepng() - Вывод PNG изображения в броузер или файл
  • imagejpeg() - Выводит изображение в браузер или пишет в файл
  • imagegif() - Выводит изображение в браузер или пишет в файл
  • imagewbmp() - Выводит изображение в браузер или пишет в файл
  • imagetypes() - Возвращает список типов изображений, поддерживаемых PHP сборкой



add a note add a note User Contributed Notes gd_info - [3 notes]
up
0
Michael Z
7 years ago
An easy way to get the numeric value for the GD Version :
$Version = ereg_replace('[[:alpha:][:space:]()]+', '', $GDArray['GD Version']);
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.
up
0
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!

 
show source | credits | sitemap | contact | advertising | mirror sites