utworzyć plik CSV do pobrania przez klienta przy użyciuJak mogę zmienić zakończenia linii używane przez fputcsv?
$output = fopen('php://output', 'w');
i używając fputcsv()
do zapisu danych do pliku CSV, który jest pobierany przez klienta.
Używam PHP w systemie Linux, w związku z czym zakończenia linii nie są interpretowane przez wiele aplikacji systemu Windows.
mógłbym napisać plik CSV do katalogu na serwerze, odczytać go z powrotem i wykonać str_replace()
z \n
do \r\n
, ale to wydaje się raczej przylegający sposób rozwiązania problemu. Czy istnieje sposób przeprowadzenia konwersji bez tworzenia fizycznego pliku?
Jeżeli użytkownik otwiera plik w edytor tekstu Windows, który wymaga CRLF lub całkiem starych aplikacji Windows, to nie powinno mieć znaczenia ... większość aplikacji Windows w dzisiejszych czasach rozpoznaje prosty LF zamiast tego: –
Przepraszamy za +1 jesteś w 1337, najbardziej wdzięczny przedstawiciel . Ale twoje pytanie mnie interesuje, nie ma mowy o zmianie znaku escape też ... –
@MarkBaker: Tak, tego się spodziewałem. Niestety, importują CSV do niektórych MIS, z których korzystają, co nie wydaje się być mądrzejsze od Notatnika w tym zakresie. – Kalessin