echo $begrüßung;
Im 1. Schritt wird aus einem Formular ein Vorname, ein Familienname und ein Text übernommen. Der Text beinhaltet Zeilenumbrüche.
Im 2. Schritt werden diese Daten in einer csv-Datei gespeichert.
Was gefällt dir an fputcsv() denn nicht?
Im 3. Schritt soll die csv-Datei ausgelesen werden
Und an seinem Pendant fgetcsv()?
Dieses Mini-Beispiel speichert zweimal $data als Stellvertreter für einen Datensatz mit fputcsv() in eine CSV-Datei
$data = array('Text', "Text\nmit\nUmbruch und sogar \"mit\" Anführungszeichen");
$fp = fopen('foo.csv', 'w');
if (!$fp)
...; // Fehlerbehandlung
else {
fputcsv($fp, $data);
fputcsv($fp, $data);
fclose($fp);
}
$fp = fopen('foo.csv', 'r');
if (!$fp)
...; // Fehlerbehandlung
else
while ($record = fgetcsv($fp))
var_dump($record);
Der Inhalt der Datei ist:
Text,"Text
mit
Umbruch und sogar ""mit"" Anführungszeichen"
Text,"Text
mit
Umbruch und sogar ""mit"" Anführungszeichen"
Dabei kannst du sehen, dass der Text mit den Umbrüchen in "" eingeschlossen ist und auch für die Anführungszeichen ist gesorgt. Zwei Stück hintereinander stehen für eins, das Datenbestandteil ist.
Und das Ergebnis des Beispiels ist:
array(2) {
[0]=>
string(4) "Text"
[1]=>
string(51) "Text
mit
Umbruch und sogar "mit" Anführungszeichen"
}
array(2) {
[0]=>
string(4) "Text"
[1]=>
string(51) "Text
mit
Umbruch und sogar "mit" Anführungszeichen"
}
Und wo ist jetzt das Problem?
und diese 3 Informationen in einer DB gespeichert werden, wobei der Text _samt_ den Zeilenumbrüchen 1:1 so in die DB kommen soll, als hätte ich _sofort_ nach der Übernahme aus dem Formular selbigen gespeichert.
Das ist eine andere Baustelle, die wir ja schon in anderem Zusammenhang behandelt haben. Du bindest dabei ohne weiteres Zutun $record[0] und $record[1] an dein Prepared Statement mit dem vorbereiteten INSERT, machst ein execute() und fertig ist.
echo "$verabschiedung $name";