PHP au format CSV problème de saut de ligne
J'utilise le code suivant pour obtenir des données à partir d'un formulaire et l'enregistrer au format csv.
$cvsData = $name . "," . $address . "\n";
$fp = fopen("file.csv", "a");
if ($fp) {
fwrite($fp, $cvsData); //Write information to the file
fclose($fp); //Close the file
}
Quand quelqu'un entre dans une virgule ou un saut de ligne dans le champ d'adresse, il se casse la mise en forme. Alors, comment puis-je échapper, de sorte que l'ensemble de l'adresse reste dans le même domaine ?
- démarrer à l'aide de PHP (fputcsv() fonctions d'écriture de fichiers csv plutôt que de construire votre propre $cvsData ligne... puis, au moins, vous n'avez pas besoin de vous soucier des virgules dans vos données
Vous devez vous connecter pour publier un commentaire.
Mettre chaque élément de données à l'intérieur des guillemets. Une paire de guillemets à l'intérieur d'une cité de la valeur signifie un guillemet simple. par exemple,
Se référant à votre exemple:
Mieux encore, il suffit d'utiliser la fonction PHP fputcsv.
CSV est totalement dépendante sur le logiciel utilisé pour le lire.
Ont un coup d'oeil à http://www.csvreader.com/csv_format.php pour quelques détails sur la manière de certains programmes de s'attendre à des données au format CSV.
J'ai créé un fichier CSV classe qui peut répondre à la plupart de ces situations. Vous pourriez avoir un coup d'oeil.
https://gist.github.com/1786683
Et pour répondre à votre question, l'utilisation de la classe que vous pourriez