Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So umgehen Sie das Trennzeichen aus dem Spalteninhalt beim CSV-Export

Verwenden Sie einfach fputcsv Es kümmert sich um das Entkommen und die Erzeugung korrekter CSV-Daten.

<?php

$list = array (
    array('aaa', 'bbb', 'ccc', 'dddd'),
    array('123', '456', '789'),
    array('"aaa"', '"bbb"')
);

$fp = fopen('file.csv', 'w');

foreach ($list as $fields) {
    fputcsv($fp, $fields);
}

fclose($fp);
?>

Ausgabe:

aaa,bbb,ccc,dddd
123,456,789
"""aaa""","""bbb"""

Bearbeiten

Sie können immer eine Kombination aus tmpfile verwenden Um eine Datei zu öffnen, die am Ende der Anfrage automatisch gelöscht wird, schreiben Sie hinein und geben Sie dann, nachdem der Bericht erstellt wurde, seinen Inhalt mit fread . Sie müssen fread verwenden, da tmpfile eine Ressource zurückgibt, ansonsten können Sie tempnam + file_get_contents aber in diesem Fall müssen Sie die Datei öffnen und nach dem Lesen selbst bereinigen.