Start · Sprachen · PHP · Referenz · fdf_get_value

fdf_get_value

Funktion

Liest den Wert eines Formularfeldes aus einem FDF-Dokument und gibt ihn zurück.

seit PHP 4.0.0 Kategorie: io

Signatur

fdf_get_value(resource $fdf_document, string $fieldname, mixed $which): mixed

Beschreibung

fdf_get_value() gehört zur FDF-Erweiterung (Forms Data Format) und ermöglicht das Auslesen von Feldwerten aus einer FDF-Datei. FDF ist ein von Adobe entwickeltes Format zum Austausch von Formulardaten aus PDF-Dokumenten. Mit dieser Funktion kann der gespeicherte Wert eines benannten Feldes abgefragt werden.

Die Funktion arbeitet mit einer FDF-Dokumentressource, die zuvor über fdf_open() oder fdf_open_string() geöffnet wurde. Der Rückgabewert hängt vom Feldtyp ab: Einfache Felder liefern einen String, während bei Arrays (etwa bei Listenfeldern mit Mehrfachauswahl) der Parameter which den gewünschten Index angibt.

Diese Funktion ist besonders nützlich, wenn serverseitig Formulardaten aus PDF-Dateien verarbeitet werden sollen, zum Beispiel beim Einlesen von ausgefüllten PDF-Formularen, die vom Benutzer zurückgesendet wurden.

Hinweis: Die FDF-Erweiterung ist veraltet und in modernen PHP-Versionen (ab PHP 7.0) standardmäßig nicht mehr enthalten. Für neue Projekte sollten Alternativen wie PDFParser oder iText in Betracht gezogen werden.

Parameter

Name Typ Default Beschreibung
$fdf_document Pflicht resource Eine gültige FDF-Dokumentressource, wie sie von fdf_open() oder fdf_open_string() zurückgegeben wird.
$fieldname Pflicht string Der Name des Formularfeldes, dessen Wert ausgelesen werden soll. Bei verschachtelten Feldern wird die Hierarchie durch Punkte getrennt, z. B. "Adresse.Strasse".
$which mixed Optionaler Parameter für Array-Felder (z. B. Mehrfachauswahl-Listen). Gibt den Index des gewünschten Elements an. Bei einfachen Feldern wird dieser Parameter ignoriert oder kann weggelassen werden.

Rückgabewert

Typ
mixed
Beschreibung
Gibt den Wert des angegebenen Feldes zurück. Bei einfachen Textfeldern ist dies ein string. Bei Array-Feldern wird der Wert am angegebenen Index zurückgegeben. Ist das Feld nicht vorhanden oder tritt ein Fehler auf, wird false zurückgegeben.

Beispiele

Einfachen Feldwert aus einem FDF-Dokument auslesen

<?php
// FDF-Datei öffnen, die vom Browser gesendet wurde
$fdf = fdf_open_string($HTTP_RAW_POST_DATA);

if ($fdf !== false) {
    // Wert des Feldes "Name" auslesen
    $name = fdf_get_value($fdf, 'Name');
    echo 'Name: ' . htmlspecialchars($name) . PHP_EOL;

    // Wert des Feldes "Email" auslesen
    $email = fdf_get_value($fdf, 'Email');
    echo 'E-Mail: ' . htmlspecialchars($email) . PHP_EOL;

    fdf_close($fdf);
} else {
    echo 'FDF-Dokument konnte nicht geöffnet werden.';
}
?>
Name: Max Mustermann E-Mail: max@example.com

Feldwert aus einer FDF-Datei auf dem Server auslesen

<?php
// FDF-Datei vom Dateisystem öffnen
$fdf = fdf_open('/pfad/zur/formular.fdf');

if ($fdf !== false) {
    // Mehrere Felder auslesen
    $felder = ['Vorname', 'Nachname', 'Geburtsdatum', 'Strasse'];

    foreach ($felder as $feld) {
        $wert = fdf_get_value($fdf, $feld);
        if ($wert !== false) {
            echo $feld . ': ' . htmlspecialchars($wert) . PHP_EOL;
        } else {
            echo $feld . ': (nicht vorhanden)' . PHP_EOL;
        }
    }

    fdf_close($fdf);
} else {
    echo 'Fehler beim Öffnen der FDF-Datei.';
}
?>
Vorname: Anna Nachname: Schmidt Geburtsdatum: 01.01.1990 Strasse: Musterstraße 1

// Wichtig · Fallstricke

Veraltete Erweiterung: Die FDF-Erweiterung (ext/fdf) wurde in PHP 5.3 als veraltet markiert und in PHP 7.0 entfernt. fdf_get_value() steht in modernen PHP-Versionen daher nicht mehr zur Verfügung. Für aktuelle Projekte sollten Alternativen genutzt werden.

Sicherheitshinweis: Werte, die aus FDF-Dokumenten gelesen werden, stammen von externen Quellen und müssen vor der weiteren Verarbeitung validiert und bereinigt werden. Werden sie in HTML ausgegeben, ist htmlspecialchars() zu verwenden; bei Datenbankoperationen müssen vorbereitete Anweisungen (Prepared Statements) eingesetzt werden.

Abhängigkeit: Die Funktion setzt voraus, dass die Adobe FDF-Toolkit-Bibliothek installiert und die PHP-Erweiterung aktiviert ist.