|
użytkowników online: 51
|
OPINIE UŻYTKOWNIKÓW
|
Nie jestem webmasterem, ale i na mnie zrobiła wrażenie szybkość reakcji Darka na mój problem. Jego kompetencja i przede wszystkim zupełnie niemodna w dzisiejszych skomercjalizowanych czasach - zwykła ludzka życzliwość dla innego człowieka. Tacy ludzie to dziś gatunek niemal wymarły...
Leszek
Wojskowy Instytut Medyczny
|
|
PODRĘCZNIK PHP 5.x, 4.x, 3.x - częściowo spolszczony / źródło: www.php.net
[Spis]
[A]
[B]
[C]
[D]
[E]
[F]
[G]
[H]
[I]
[J]
[K]
[L]
[M]
[N]
[O]
[P]
[Q]
[R]
[S]
[T]
[U]
[V]
[X]
[W]
[Z]
gd_info (PHP 4 >= 4.3.0, PHP 5) gd_info -- Retrieve information about the currently installed GD library Descriptionarray gd_info ( void )
Returns an associative array describing the version and capabilities of
the installed GD library.
Tabela 1. 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. | | JPG Support | boolean value. TRUE
if JPG 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. |
Przykład 1. Using gd_info() |
<?php
var_dump(gd_info());
?>
|
The typical output is :
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)
["JPG Support"]=>
bool(false)
["PNG Support"]=>
bool(true)
["WBMP Support"]=>
bool(true)
["XBM Support"]=>
bool(false)
} |
|
See also imagepng(),
imagejpeg(),
imagegif(),
imagewbmp(), and
imagetypes().
User Contributed NotesMichael Z
28-Sep-2005 09:40
An easy way to get the numeric value for the GD Version :
$Version = ereg_replace('[[:alpha:][:space:]()]+', '', $GDArray['GD Version']);
Hagan Fox
03-May-2005 01:35
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
function gdVersion($user_ver = 0)
{
if (! extension_loaded('gd')) { return; }
static $gd_ver = 0;
if ($user_ver == 1) { $gd_ver = 1; return 1; }
if ($user_ver !=2 && $gd_ver > 0 ) { return $gd_ver; }
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 (preg_match('/phpinfo/', ini_get('disable_functions'))) {
if ($user_ver == 2) {
$gd_ver = 2;
return 2;
} else {
$gd_ver = 1;
return 1;
}
}
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];
} 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.
phpnet at furp dot com
08-Dec-2004 07:59
I updated the function below to include the GD Version info and any other string fields. The function only showed the bool values before.
// Retrieve information about the currently installed GD library
function describeGDdyn() {
echo "\n<ul><li>GD support: ";
if(function_exists("gd_info")){
echo "<font color=\"#00ff00\">yes</font>";
$info = gd_info();
$keys = array_keys($info);
for($i=0; $i<count($keys); $i++) {
if(is_bool($info[$keys[$i]])) echo "</li>\n<li>" . $keys[$i] .": " . yesNo($info[$keys[$i]]);
else echo "</li>\n<li>" . $keys[$i] .": " . $info[$keys[$i]];
}
} else { echo "<font color=\"#ff0000\">no</font>"; }
echo "</li></ul>";
}
function yesNo($bool){
if($bool) return "<font color=\"#00ff00\"> yes</font>";
else return "<font color=\"#ff0000\"> no</font>";
}
yohami dot com - zerodj at hotmail dot com
14-Jan-2004 04:09
A cool resize / cropping script for creating thumbnails using mogrify
IMAGETEST.PHP
<?php
include 'mogrify.php';
$picture="sample.jpg";
$fixedwidth=300;
$fixedheight=240;
cropimage($picture,$fixedwidth,$fixedheight,$mogrify);
?>
MOGRIFY.PHP
<?php
$mogrify="C:/apache/Imagik/mogrify.exe";
function cropimage($picture,$fixedwidth,$fixedheight,$mogrify) {
$img = imagecreatefromjpeg($picture);
$width= imagesx($img);
$height= imagesy($img);
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");
$img = imagecreatefromjpeg($picture);
$width= imagesx($img);
$height= imagesy($img);
}
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!
Elie De Brauwer <elie at de-brauwer dot be>
28-Aug-2003 05:40
Since I noted that gd_info() returned on my system more info than the manual said (11 fields instead of 9, the extra fields are FreeType Linkage Support and JIS-mapped Japanese Font Support), I wrote these two little functions that dump the information returend by gd_info() in a dynamical and colored way.
<?
function describeGDdyn(){
echo "<ul>";
echo "<li>GD support: ";
if(function_exists("gd_info")){
echo "<font color=\"#00ff00\">yes</font>";
$info = gd_info();
$keys = array_keys($info);
for($i=1;$i<count($keys);$i++){
echo "</li>\n<li>".$keys[$i] .": " . yesNo($info[$keys[$i]]);
}
}else{
echo "<font color=\"#ff0000\">no</font>";
}
echo "</li></ul>";
}
function yesNo($bool){
if($bool){
return "<font color=\"#00ff00\"> yes</font>";
}else{
return "<font color=\"#ff0000\"> no</font>";
}
}
describeGDdyn();
?>
meuk at nospam dot quicknet dot nl
28-Apr-2003 08:32
this function, as well as other functions that rely on the gd library, generates an error when you don't have the extension configured in your php.ini file. I had some trouble finding out how to get it working so here are the steps I took on a clean (windows / apache)- install:
* In addition to the (windows binary) installer, I downloaded the zip package which has a lot of things the installer hasn't. I unpacked the extensions directory in my own c:\php\extensions dir.
* I changed some lines in php.ini:
+ find the extension_dir setting and set it to
c:/PHP/extensions (or your own path of course)
+ found the ;extension=php_gd.dll
line and removed the semicolon
* I restarted apache and it worked
Hope this helps you all out or at least gives you a valuable hint to get it working,
Good luck,
Rob
johnschaefer at gmx dot de
10-Apr-2003 02:25
this is a replacement for this function.
you can also use this function in php >= 4.3.
the handling is the same as the gd_info function (array gd_info(void))
<?php
$code = 'function gd_info() {
$array = Array(
"GD Version" => "",
"FreeType Support" => 0,
"FreeType Support" => 0,
"FreeType Linkage" => "",
"T1Lib Support" => 0,
"GIF Read Support" => 0,
"GIF Create Support" => 0,
"JPG Support" => 0,
"PNG Support" => 0,
"WBMP Support" => 0,
"XBM Support" => 0
);
$gif_support = 0;
ob_start();
eval("phpinfo();");
$info = ob_get_contents();
ob_end_clean();
foreach(explode("\n", $info) as $line) {
if(strpos($line, "GD Version")!==false)
$array["GD Version"] = trim(str_replace("GD Version", "", strip_tags($line)));
if(strpos($line, "FreeType Support")!==false)
$array["FreeType Support"] = trim(str_replace("FreeType Support", "", strip_tags($line)));
if(strpos($line, "FreeType Linkage")!==false)
$array["FreeType Linkage"] = trim(str_replace("FreeType Linkage", "", strip_tags($line)));
if(strpos($line, "T1Lib Support")!==false)
$array["T1Lib Support"] = trim(str_replace("T1Lib Support", "", strip_tags($line)));
if(strpos($line, "GIF Read Support")!==false)
$array["GIF Read Support"] = trim(str_replace("GIF Read Support", "", strip_tags($line)));
if(strpos($line, "GIF Create Support")!==false)
$array["GIF Create Support"] = trim(str_replace("GIF Create Support", "", strip_tags($line)));
if(strpos($line, "GIF Support")!==false)
$gif_support = trim(str_replace("GIF Support", "", strip_tags($line)));
if(strpos($line, "JPG Support")!==false)
$array["JPG Support"] = trim(str_replace("JPG Support", "", strip_tags($line)));
if(strpos($line, "PNG Support")!==false)
$array["PNG Support"] = trim(str_replace("PNG Support", "", strip_tags($line)));
if(strpos($line, "WBMP Support")!==false)
$array["WBMP Support"] = trim(str_replace("WBMP Support", "", strip_tags($line)));
if(strpos($line, "XBM Support")!==false)
$array["XBM Support"] = trim(str_replace("XBM Support", "", strip_tags($line)));
}
if($gif_support==="enabled") {
$array["GIF Read Support"] = 1;
$array["GIF Create Support"] = 1;
}
if($array["FreeType Support"]==="enabled"){
$array["FreeType Support"] = 1; }
if($array["T1Lib Support"]==="enabled")
$array["T1Lib Support"] = 1;
if($array["GIF Read Support"]==="enabled"){
$array["GIF Read Support"] = 1; }
if($array["GIF Create Support"]==="enabled")
$array["GIF Create Support"] = 1;
if($array["JPG Support"]==="enabled")
$array["JPG Support"] = 1;
if($array["PNG Support"]==="enabled")
$array["PNG Support"] = 1;
if($array["WBMP Support"]==="enabled")
$array["WBMP Support"] = 1;
if($array["XBM Support"]==="enabled")
$array["XBM Support"] = 1;
return $array;
}';
if(!function_exists("gd_info")) eval($code);
?>
|