Signatur
Beschreibung
fdf_next_field_name() wird verwendet, um die Namen aller Felder in einem FDF-Dokument (Forms Data Format) zu iterieren. Sie gibt den Namen des Feldes zurück, das im Dokument nach dem angegebenen Feld fieldname folgt. Wird kein Feldname angegeben oder ein leerer String übergeben, liefert die Funktion den Namen des ersten Feldes im Dokument.
FDF ist ein von Adobe entwickeltes Format für den Austausch von Formularfeldwerten aus PDF-Formularen. Die Funktion ist nützlich, wenn man alle Felder eines eingehenden FDF-Dokuments auslesen möchte, ohne deren Namen vorher zu kennen – etwa beim Verarbeiten dynamischer PDF-Formulare auf dem Server.
Typisch ist der Einsatz in einer Schleife: Man beginnt mit einem leeren Feldnamen, erhält den ersten Feldnamen, und ruft die Funktion dann wiederholt mit dem zuletzt erhaltenen Namen auf, bis false zurückgegeben wird, was das Ende der Feldliste signalisiert.
Hinweis: Die FDF-Erweiterung (fdf) ist seit PHP 5.3.0 als veraltet markiert und wurde mit PHP 7.0.0 komplett entfernt. Für moderne Projekte sollten Alternativen wie die pdftk-Bibliothek oder externe PDF-Verarbeitungstools genutzt werden.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $fdf_document Pflicht | resource | Eine FDF-Dokument-Ressource, die zuvor mit fdf_open() oder fdf_open_string() geöffnet wurde. |
|
| $fieldname | string | '' | Der Name des Feldes, nach dem gesucht werden soll. Wird ein leerer String oder kein Wert übergeben, gibt die Funktion den Namen des ersten Feldes im FDF-Dokument zurück. |
Rückgabewert
string zurück. Gibt false zurück, wenn kein weiteres Feld vorhanden ist oder ein Fehler aufgetreten ist.Beispiele
Alle Felder eines FDF-Dokuments iterieren
<?php
// FDF-Dokument aus einer Datei öffnen
$fdf = fdf_open('/pfad/zum/formular.fdf');
if ($fdf) {
// Mit leerem String beginnt die Iteration beim ersten Feld
$feldname = fdf_next_field_name($fdf, '');
while ($feldname !== false) {
$wert = fdf_get_value($fdf, $feldname);
echo 'Feld: ' . $feldname . ' => Wert: ' . $wert . PHP_EOL;
// Nächstes Feld abrufen
$feldname = fdf_next_field_name($fdf, $feldname);
}
fdf_close($fdf);
} else {
echo 'FDF-Dokument konnte nicht geöffnet werden.';
}
?>
Felder aus einem per HTTP gesendeten FDF-Formular auslesen
<?php
// FDF-Daten direkt aus dem HTTP-Request-Body einlesen
$fdfDaten = file_get_contents('php://input');
$fdf = fdf_open_string($fdfDaten);
if ($fdf) {
$felder = [];
$feldname = fdf_next_field_name($fdf, '');
while ($feldname !== false) {
$felder[$feldname] = fdf_get_value($fdf, $feldname);
$feldname = fdf_next_field_name($fdf, $feldname);
}
fdf_close($fdf);
// Verarbeitete Felder ausgeben
print_r($felder);
} else {
echo 'Fehler beim Verarbeiten der FDF-Daten.';
}
?>
// Wichtig · Fallstricke
Deprecation-Hinweis: Die gesamte fdf-Erweiterung wurde mit PHP 5.3.0 als veraltet markiert (deprecated) und ist seit PHP 7.0.0 nicht mehr verfügbar. Code, der diese Funktion verwendet, läuft auf modernen PHP-Versionen nicht mehr. Für neue Projekte sollten Alternativen wie pdftk, php-pdftk oder spezialisierte PDF-Bibliotheken (z. B. FPDF, TCPDF, mPDF) eingesetzt werden.
Achten Sie darauf, dass der zurückgegebene Feldname exakt übereinstimmt (Groß-/Kleinschreibung), wenn er für weitere FDF-Funktionen wie fdf_get_value() verwendet wird.