Lire fichier csv [Résolu]

Messages postés
91
Date d'inscription
lundi 25 juillet 2005
Dernière intervention
18 mai 2010
- - Dernière réponse : malalam
Messages postés
10918
Date d'inscription
lundi 24 février 2003
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 ?

       
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
Messages postés
91
Date d'inscription
lundi 25 juillet 2005
Dernière intervention
18 mai 2010
3
Merci
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];

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de cs_keket
Messages postés
19
Date d'inscription
mardi 20 mai 2003
Dernière intervention
3 mars 2009
0
Merci
Salut,

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

essai déjà ca.
Commenter la réponse de cs_mike17
Messages postés
91
Date d'inscription
lundi 25 juillet 2005
Dernière intervention
18 mai 2010
0
Merci
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 ^^.
Commenter la réponse de cs_keket
Messages postés
91
Date d'inscription
lundi 25 juillet 2005
Dernière intervention
18 mai 2010
0
Merci
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 !!!!
Commenter la réponse de cs_keket
Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Dernière intervention
29 décembre 2012
0
Merci
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
Commenter la réponse de Teclis01
Messages postés
91
Date d'inscription
lundi 25 juillet 2005
Dernière intervention
18 mai 2010
0
Merci
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.
Commenter la réponse de cs_keket
Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Dernière intervention
29 décembre 2012
0
Merci
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
Commenter la réponse de Teclis01
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
0
Merci
Hello,

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

';
}
?>
Commenter la réponse de malalam

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.