Pour lire lex fichiers 'csv', il y a une fonction : fgetcsv().
D'autre part, la variable '$liste' n'est pas un tableau, et elle est donc écrasée à chaque tour de boucle. En final, il ne reste que la dernière valeur, donc longueur = 1.
Ton code (simplifié) pourrait être comme ça (pas testé) :
<?php
$fichier = 'donnee/Regular Season Schedule.csv';
if(file_exists($fichier))
{
$i = 0;
$fp = fopen("$fichier", "r");
while (!feof($fp))
{
$liste[$i] = fgetcsv($fp, 4096, ',', '"');
$aRemplacer = array('®', '?', '/');
$liste[$i] = str_replace($aRemplacer, '', $liste[$i]);
// Regarde le nombre de colonne //
$resultat = count($liste);
$nb = $resultat ;
echo $resultat ;
}
}
?>
si tu regardes bien ton output, tu verras que ton $nb vaut 17 pour toutes les lignes, sauf...la dernière. Parce que ton code lit trop loin : ton fichier csv se finit sur un retour chariot, et la dernière ligne est celle d'après ce retour chariot : elle ne contient rien, aucun champ csv. Ou du moins un champ vide. Et comme tu écrases ton $nb à chaque ligne, jusqu'à la dernière...ben à la dernière, $nb vaut 1 apparemment puisque ton affichage se fait une fois.