Comment puis-je faire PHP fputcsv () pour reconnaître le classique Mac (CR) caractère de nouvelle ligne?
Question
J'utilise ce code pour obtenir le nombre de colonnes d'un fichier CSV:
$this->dummy_file_handler = fopen($this->config['file'],'r');
if ($dataset =fgetcsv($this->dummy_file_handler))
{
$this->number_of_columns = count($dataset);
}
Il fonctionne très bien à moins le fichier est exporté avec Excel pour Mac 2011 puisque le nouveau caractère de ligne est alors Mac Classic (CR) qui fgetcsv
ne reconnaît pas.
Si I manuellement modifier la nouvelle ligne de Classic Mac (CR) à Unix (LR), il fonctionne, mais je dois que cela soit automatisé.
Comment puis-je faire fgetcsv
reconnaître le classique Mac (CR) caractère de nouvelle ligne?
Autres conseils
Si la réponse de Saül ne fonctionne pas, je voudrais écrire un script simple à lire dans le fichier à la fois et str_replace tous les \ r \ n, le dumping des résultats dans un nouveau fichier, fgetcsv'ing alors que le nouveau fichier .
Je trouve amusant que ces termes sont des jours d'utilisation des machines à écrire:
\ N = alimentation ligne (LF) - avance la ligne un papier
.
\ R = retour chariot (CR) -. Ramène le chariot vers le côté gauche de la machine à écrire