Lire fichier csv

Résolu
cs_keket Messages postés 91 Date d'inscription lundi 25 juillet 2005 Statut Membre Dernière intervention 18 mai 2010 - 31 janv. 2008 à 08:32
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 31 janv. 2008 à 19:47
Bonjour, je reviens vous voir pour un problème avec un fichier csv. je travaille en ce moment sur un système d'importation.

J'arrive biensur a apporter le fichier, mais n'arrive pas a le lire.


voila mon code source :


         $h= fopen ($file, "r");

        $cpt=0;

        while($rep=fgetcsv($h,filesize($file),''))

        {

            $ligne[$cpt]=$rep[0];

            $cpt++;

        }

        fclose($h);

        //on charge les lignes de la table

        for($i=0;$i<$cpt;$i++)

        {

            $tab[$i]=array();

            $tab[$i]=split(";",$ligne[$i]);

        }


je n'arrive jamais a rentrer dans la première boucle (while)

et voici mon fichier .csv :


CIVILITE;NOM;PRENOM;VIP;TELEPHONE;FAX;PORTABLE;MAIL;

;DUPOND;Mauricette;Oui;05XXXXXXXX;03XXXXXXXXX;06XXXXXXXX;


Est-ce-que quelqu'un pourrait m'aider ?

       

8 réponses

cs_keket Messages postés 91 Date d'inscription lundi 25 juillet 2005 Statut Membre Dernière intervention 18 mai 2010
31 janv. 2008 à 09:10
Voici la solution a mon problème :
       $file="C:/txt.csv";
        $h = fopen ($file, "r") or die("Cannot open $file");
        $cpt=0;
        while($rep=fgetcsv($h,filesize($file)))
        {
            $ligne[$cpt]=$rep[0];
            $cpt++;
        }
        fclose($h);
        $caract_remplace=";";
        $caract_place=",";
        $coma=0;
        //on charge les lignes de la table
        for($i=0;$i<$cpt;$i++)
        {
            $tab[$i]=array();
            $tab[$i]=split(";",$ligne[$i]);
        }
       
        echo$tab[0][0];
        echo$tab[0][1];
3
cs_mike17 Messages postés 19 Date d'inscription mardi 20 mai 2003 Statut Membre Dernière intervention 3 mars 2009
31 janv. 2008 à 08:44
Salut,

c'est peut-être là : while($rep==fgetcsv($h,filesize($file),''))

essai déjà ca.
0
cs_keket Messages postés 91 Date d'inscription lundi 25 juillet 2005 Statut Membre Dernière intervention 18 mai 2010
31 janv. 2008 à 08:55
Merci d'avoir répondu, mais sa ne change pas mon problème, au contraire, cela fait une boucle de la mort, .
soit mon problème se situe qur le while :   while($rep==fgetcsv($h,filesize($file),''))
soit c'est un problème dans mon csv ^^.
0
cs_keket Messages postés 91 Date d'inscription lundi 25 juillet 2005 Statut Membre Dernière intervention 18 mai 2010
31 janv. 2008 à 09:03
je pense que j'ai cerner mon problème. il n'arrive pas a ouvrir le fichier !!!

voici ma ligne : $h = fopen ($file, "r") or die("Cannot open $file");

et voila la reponse : Cannot open contact.csv !!!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
31 janv. 2008 à 09:33
J'avais fait ça ya quelques temps... si ça peut t'aider a factoriser

http://www.codyx.org/snippet_lire-fichier-csv_469.aspx

--------------------------------------------------------------------------------------------------
         Il vaut mieux poser une question et passer pour bête que le rester toute sa vie
0
cs_keket Messages postés 91 Date d'inscription lundi 25 juillet 2005 Statut Membre Dernière intervention 18 mai 2010
31 janv. 2008 à 10:40
Merci de ton coup de main mais je peut pas utiliser ta méthode puisque je travail en php 4.0 c'est un petit problème.
0
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
31 janv. 2008 à 11:08
Je revois le code est ce n'est pas du php5 me semble...
c'est juste une fonction tirée d'une de mes classe (qui elle était en php5)
Essaye ça devrait fonctionner (attention le debug est actif)
--------------------------------------------------------------------------------------------------
         Il vaut mieux poser une question et passer pour bête que le rester toute sa vie
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
31 janv. 2008 à 19:47
Hello,

<?php
$aLines = file($sFile);
foreach($aLines as $sLine) {
    $aCols = explode(';', $sLine);
    echo'',print_r($aCols, true),'

';
}
?>
0
Rejoignez-nous