2016-12-19 5 views
-1

Ich erstelle ein Webformular, das ausgefüllt und in einer CSV-Datei an einem bestimmten Ort gespeichert werden soll, damit wir einen Prozess automatisieren können, um nach dieser Datei zu suchen und sie zu importieren jede Stunde oder so zu einer Datenbank.CSV exportieren mit spezifischen Formatierungen/neu definierten Werten in PHP

Ich habe die meisten dieser Dinge gehen, aber kämpfe mit der Formatierung der CSV-Datei.

Dieses Webformular enthält alle Arten von Feldern, von denen einige leer bleiben sollen. Wenn ein Feld leer ist, sollte es in der CSV-Datei als ,, definiert werden.

if(empty($_POST['Firstname'])) { 
     $_POST['Fristname'] = ',,'; 
    } 
    if(empty($_POST['Middlename'])) { 
     $_POST['Middlename'] = ',,'; 
    } 
    //etc 

$directory = "C:\CSVImport/"; 

$file = "Import.csv"; 
$file = fopen($directory . $file, 'a'); 
fputcsv($file, $_POST); 
fclose($file); 

Das ist, was ich habe dachte ich einfach neu definieren könnte, wenn es leer ist, aber dies ist das Ergebnis und merken, wie die zweite Spalte ",," ist. Ich brauche es gerade zu sein bis ,,

Brian,",,",Silva,yo,yo,yo 

Wie kann ich das erreichen?

+0

Sie wollen eine leere Spalte hinzufügen, wenn auf dem Feld leer ist? Oder füge ein Feld mit ',,'? Oder etwas anderes? –

+0

@ rap-2-h Wenn das Feld beim Ausfüllen des Formulars leer gelassen wird Ich möchte, dass es definiert wird als ,, Das Ergebnis der gesuchten CSV-Datei ist Brian ,,,, Silva, yo, yo, yo – Brayn

Antwort

0

Die Lösung in diesem answer von jemand anderem gefunden.

  $file = "Import.csv"; 
      $file = fopen($directory . $file, 'a'); 
      fputcsv($file,$_POST,',',utf8_decode(0)); 
      fclose($file); 

benutzte ich utf8_decode(0) statt chr(0)