[Problème] Fonction pour traiter un fichier CSV

romain081 - 22 nov. 2012 à 15:58
 nicotontige - 22 nov. 2012 à 17:18
Bonjour,

Je me tourne vers vous afin d'avoir un peu d'aide. Je rencontre un petit soucis au niveau de la déclaration des tableaux (${'$tab_'.$IP.'['.$detection_ligne.']['.$NBCOL.']='.$cell}; ).

Je ne comprends pas ce qui ne fonctionne pas. Et je ne vois pas comment appelé ce tableau plus tard dans une autre fonction.






function traitement($ip, $url){
        $page=fopen("info.html","a"); //ouverture de info.html en mode Ajout
        $f = fopen("test.csv", "r"); // Ouverture du fichier CSV téléchargé
        $IP=$ip;
        $detection_ligne=0;
        $NBCOL=0;
        while (($line = fgetcsv($f, 0, ",")) !== false) {
                /* Tant qu il y a une ligne du type CSV avec pour séparateur ','
                et d'une longueur maximale 0 (=infini) on met dans le tableau $line
                le contenu */

                $page1=fwrite($page, "\n<tr>\n"); //On débute la ligne
                        foreach ($line as $cell) {
                                $ip_temp=str_replace(".","_",$IP);
                                // pour chaque cellule du tableau $line
                                if($detection_ligne=='0'){
                                        //Grâce a la detection de ligne on peut savoir si la ligne en question est une tête de colonnes
                                        ${'$tab_'.$IP.'['.$detection_ligne.']['.$NBCOL.']='.$cell};
                                        $page1=fwrite($page, "\t<td bgcolor='#FFF48D'>".$cell."
</td>\n"); // on le met dans un <td>...</$

                                }
                                else
                                {
                                        $page1=fwrite($page, "\t<td>".$cell."
</td>\n"); // on le met dans un <td> ... </td>
                                        ${'$tab_'.$IP.'['.$detection_ligne.']['.$NBCOL.']='.$cell};
                                }
                                $NBCOL=$NBCOL+1;
                        }
                $page1=fwrite($page, "</tr>\n"); // On termine la ligne
                $detection_ligne=1;
        }
        fclose($f);
        fclose($page);
}

1 réponse

nicotontige
22 nov. 2012 à 17:18
Bonjour,


Si je comprend bien, tu veux concaténer 2 variables pour faire un nom de fichier.
Et si tu fais :
<?
$nom_de_tab = "tab_".$IP;
${$nom_de_tab}[][]= ....
?>


Ca peut peut être le faire nom ?
0
Rejoignez-nous