dedlfix: Textfile mit mehreren Daten, davon einmal mit Zeilenumbrüchen

Beitrag lesen

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";

0 45

Textfile mit mehreren Daten, davon einmal mit Zeilenumbrüchen

Brombeermilchtrinker
  • php
  1. 1
    dedlfix
    1. 0
      Brombeermilchtrinker
      1. 0
        Patrick Andrieu
        1. 0
          Brombeermilchtrinker
          1. 0
            Christoph Jeschke
          2. 0
            Patrick Andrieu
            1. 0
              Brombeermilchtrinker
              1. 0
                Patrick Andrieu
                1. 0
                  Jens Holzkämper
                  1. 0
                    Patrick Andrieu
                    1. 0
                      Jens Holzkämper
                2. 0

                  Christoph geht es gut!

                  Patrick Andrieu
                  • menschelei
                  1. 0
                    Der Martin
                  2. 0
                    Kai345
                  3. 0
                    MudGuard
                    1. 0
                      Patrick Andrieu
                      1. 0
                        ChrisB
                    2. 0
                      Harlequin
      2. 2
        dedlfix
        1. 0
          Brombeermilchtrinker
          1. 0
            Harlequin
            1. 0
              Brombeermilchtrinker
          2. 2
            ChrisB
            1. 0
              Brombeermilchtrinker
              1. 0
                ChrisB
                1. 0
                  Brombeermilchtrinker
                  1. 2
                    ChrisB
                    1. 0
                      Brombeermilchtrinker
              2. 2
                ChrisB
                1. 0
                  Brombeermilchtrinker
                  1. 0
                    ChrisB
                    1. 0
                      Brombeermilchtrinker
                      1. 0
                        ChrisB
              3. 5
                dedlfix
                1. 0
                  dedlfix
                2. 0
                  Brombeermilchtrinker
                  1. 0
                    dedlfix
                    1. 0
                      Brombeermilchtrinker
          3. 0
            dedlfix
    2. 0
      Christoph Jeschke
      1. 1
        dedlfix
        1. 0
          Christoph Jeschke
          1. 0
            Brombeermilchtrinker
  2. 0
    Christoph Jeschke