Start · Sprachen · PHP · Referenz · gd_info

gd_info

Funktion

Gibt ein assoziatives Array mit Informationen über die aktuell geladene GD-Bibliothek zurück.

seit PHP 4.3.0 Kategorie: image

Signatur

gd_info(): array

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

Typ
array
Beschreibung
Assoziatives Array mit Informationen zur GD-Bibliothek. Alle booleschen Flags geben 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;
GD-Version: bundled (2.1.0 compatible) JPEG-Unterstützung: Ja PNG-Unterstützung: Ja WebP-Unterstützung: Ja FreeType-Support: Ja

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;
}
JPEG: unterstützt PNG: unterstützt WEBP: unterstützt AVIF: unterstützt GIF: unterstützt BMP: NICHT unterstützt

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.