Maison  >  Article  >  développement back-end  >  Comment supprimer la nomenclature des fichiers CSV importés ?

Comment supprimer la nomenclature des fichiers CSV importés ?

DDD
DDDoriginal
2024-11-03 04:47:30731parcourir

How to Remove BOM from Imported CSV Files?

Suppression de la nomenclature des fichiers CSV importés

Lors de l'importation d'un fichier .csv, il est courant de rencontrer une nomenclature (Byte Order Mark), qui peut interférer avec le traitement des données. Ce problème peut être résolu en supprimant la nomenclature du fichier.

Une méthode pour supprimer la nomenclature consiste à utiliser des expressions régulières :

$new_file = preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $file);

Cependant, cette méthode n'est pas toujours fiable. Une approche alternative utilisant la fonction file_get_contents est recommandée :

$content = file_get_contents($filepath);
file_put_contents($filepath, str_replace("\xEF\xBB\xBF", '', $content));

Cette approche écrase le fichier avec les données supprimées de la nomenclature, vous permettant ainsi de continuer le traitement du fichier sans interférence de la nomenclature.

Cependant, l'utilisation de file_put_contents ferme le fichier, ce qui peut perturber votre script existant. Pour résoudre ce problème, utilisez fopen pour rouvrir le fichier après l'écriture :

$file = fopen($filepath, "r") or die("Error opening file");

En implémentant ces techniques, vous pouvez supprimer efficacement la nomenclature des fichiers .csv importés et assurer un traitement fluide des données dans votre script.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn