Ich erstelle eine CSV-Datei, die von unserem Kunden mit
heruntergeladen werden kann %Vor% und mit fputcsv()
Daten in eine CSV-Datei schreiben, die vom Client heruntergeladen wird.
Ich verwende PHP unter Linux und folglich werden die Zeilenenden von vielen Windows-Anwendungen nicht interpretiert.
Ich könnte die CSV-Datei in ein Verzeichnis auf dem Server schreiben, sie wieder einlesen und eine str_replace()
von \n
bis \r\n
ausführen, aber das scheint eine ziemlich kluge Art zu sein, das Problem zu lösen. Gibt es eine Möglichkeit, die Konvertierung durchzuführen, ohne eine physische Datei zu erstellen?
Nicht sicher, ob Sie das mit PHP selbst tun können. Es mag eine Möglichkeit geben, PHPs EOL für das Schreiben von Dateien zu ändern, aber es ist wahrscheinlich systemabhängig. Sie haben kein Windows-System, das Sie anpingen könnten, oder? ;)
Wie bei einer echten Lösung können Sie anstelle von str_replace
zeilenweise das Linux-Programm unix2dos
(inverse von dos2unix
) verwenden, vorausgesetzt, Sie haben es installiert:
Tags und Links php csv line-endings