Mysql
 sql >> Base de données >  >> RDS >> Mysql

comment échapper le délimiteur du contenu de la colonne lors de l'exportation csv

Utilisez simplement fputcsv il prend soin d'échapper et de produire des données csv correctes.

<?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);
?>

Sortie :

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

Modifier

Vous pouvez toujours utiliser une combinaison de tmpfile pour ouvrir un fichier qui sera automatiquement supprimé à la fin de la requête, écrivez-y puis, une fois le rapport créé, affichez son contenu avec fread . Vous devez utiliser fread puisque tmpfile renvoie une ressource, sinon vous pouvez utiliser tempnam + file_get_contents mais dans ce cas, vous devez ouvrir le fichier et le nettoyer après l'avoir lu par vous-même.