Signatur
Beschreibung
gd_info() liefert Laufzeit-Informationen über die installierte GD-Erweiterung, wie Version, unterstützte Bildformate und aktivierte Funktionen. Die Funktion benötigt keine Parameter und gibt sofort ein assoziatives Array zurück.
Typische Anwendungsfälle sind die Prüfung vor der Bild-Verarbeitung, um sicherzustellen, dass das gewünschte Format (z. B. WebP oder AVIF) tatsächlich unterstützt wird, oder die Fehlerdiagnose bei Deploy-Umgebungen, in denen unterschiedliche GD-Versionen oder Kompilierungsoptionen aktiv sein können.
Die zurückgegebenen Schlüssel umfassen unter anderem GD Version, FreeType Support, JPEG Support, PNG Support, WebP Support, AVIF Support (ab PHP 8.1) sowie weitere format- und feature-spezifische Flags als bool-Werte bzw. Versions-Strings.
- GD Version – Version der installierten GD-Bibliothek als String.
- FreeType Support – ob TrueType-Schriftarten (TTF) nutzbar sind.
- JPEG Support, PNG Support, WebP Support – Unterstützung der jeweiligen Formate.
- AVIF Support – ab PHP 8.1 / GD 2.3.x verfügbar.
Rückgabewert
true zurück, wenn das Feature unterstützt wird, andernfalls false. Versions-Felder enthalten einen String oder false.Beispiele
GD-Informationen ausgeben
<?php
$info = gd_info();
echo 'GD-Version: ' . $info['GD Version'] . PHP_EOL;
echo 'JPEG-Unterstützung: ' . ($info['JPEG Support'] ? 'Ja' : 'Nein') . PHP_EOL;
echo 'PNG-Unterstützung: ' . ($info['PNG Support'] ? 'Ja' : 'Nein') . PHP_EOL;
echo 'WebP-Unterstützung: ' . ($info['WebP Support'] ? 'Ja' : 'Nein') . PHP_EOL;
echo 'FreeType-Support: ' . ($info['FreeType Support'] ? 'Ja' : 'Nein') . PHP_EOL;
Formatunterstützung vor Verarbeitung prüfen
<?php
function bildFormatPruefen(string $format): bool
{
$info = gd_info();
$map = [
'jpeg' => 'JPEG Support',
'png' => 'PNG Support',
'webp' => 'WebP Support',
'avif' => 'AVIF Support',
'gif' => 'GIF Read Support',
];
$schluessel = $map[strtolower($format)] ?? null;
return $schluessel !== null && !empty($info[$schluessel]);
}
$formate = ['jpeg', 'png', 'webp', 'avif', 'gif', 'bmp'];
foreach ($formate as $fmt) {
$status = bildFormatPruefen($fmt) ? 'unterstützt' : 'NICHT unterstützt';
echo strtoupper($fmt) . ': ' . $status . PHP_EOL;
}
Vollständige GD-Info-Tabelle ausgeben
<?php
$info = gd_info();
echo '<table border="1">' . PHP_EOL;
echo '<tr><th>Eigenschaft</th><th>Wert</th></tr>' . PHP_EOL;
foreach ($info as $key => $value) {
$anzeige = is_bool($value) ? ($value ? '✔ Ja' : '✘ Nein') : htmlspecialchars((string)$value);
echo "<tr><td>{$key}</td><td>{$anzeige}</td></tr>" . PHP_EOL;
}
echo '</table>';
// Wichtig · Fallstricke
Die verfügbaren Schlüssel im Rückgabe-Array können je nach PHP-Version und GD-Kompilierung variieren. Vor PHP 8.0 waren einige Schlüssel wie T1Lib Support vorhanden, die inzwischen entfernt wurden. Prüfe daher mit array_key_exists(), ob ein bestimmter Schlüssel existiert, bevor du ihn auswertest.
AVIF Support ist erst ab PHP 8.1 in Verbindung mit GD 2.3.x und einer libavif-fähigen Kompilierung verfügbar. Ein fehlender Schlüssel bedeutet nicht zwingend fehlende Unterstützung in allen Umgebungen – er kann in älteren PHP-Versionen schlicht nicht vorhanden sein.