Explode sur csv

Résolu
Diogon Messages postés 173 Statut Membre -  
 Utilisateur anonyme -
Bonjour,

Mon problème est à priori simple, mais je n'arrive toutefois pas à trouver la solution. J'ai besoin que mon site (en php) sépare toutes les champs d'un fichier csv comme le ferait la fonction explode(';',$string) avec une chaine de caractères. Il ne faut pas qu'il prenne en compte les lignes mais se contente de mettre tous les champs sans exceptions dans un tableau. Jusqu'ici toutes mes tentatives n'ont donné comme résultat que d'afficher "array" lorsque je souhaite afficher un champ précis du fichier...

En tous cas, un grand merci à tous

3 réponses

  1. Utilisateur anonyme
     
    Bonjour,

    Vous chargez le fichier dans une chaîne

    $f = fopen(fichier,'r');
    $str = '';
    while(foef($f)) $str.= fgets($f);

    $tab =explode(";", $str);

    Après vous allez à l'élement désiré ainsi
    echo $tab[15]

    Cordialement
    0
  2. Diogon Messages postés 173 Statut Membre
     
    Merci d'avoir répondu si vite...

    Malheureusement, ça n'a pas fonctionné, dans un tel cas, la page ne m'affiche rien du tout si ce n'est les inclusions habituelles. D'ailleurs elle ne semble plus exécuter la moindre instruction après la boucle while
    0
  3. Utilisateur anonyme
     
    ëtes vous certain que le fichier est bien lu ?
    en plus j'ai mis une bêtise foef au lieu de !feof

    Faites ceci

    if ($f = @fopen(fichier,'r')) {
    $str = '';
    while(!foef($f)) $str.= fgets($f);
    $tab =explode(";", $str);
    print_r($tab); // Juste pour voir
    print $tab[15]; // 15ième élément
    } else {
    echo 'mauvais fichier';
    }

    0