Parcourir un fichier CSV en PHP
Bonjour à tous,
Je vous explique le contexte, je dois parcourir un fichier .csv pour pouvoir en récupérer les données. Ces dernières sont des adresses que je dois géocoder pour pouvoir les afficher sur une google maps.
Mon soucis viens du fait de parcourir le fichier .csv,
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
<?php
$taille = 0;
$delimiteur = ";";
/* ouverture en lecture */
if($fp = fopen("FICHIER.csv","r"))
{
for ($ligne = fgetcsv($fp, $taille, $delimiteur); !feof($fp); $ligne = fgetcsv($fp, $taille, $delimiteur))
{
$j = sizeof($ligne);
/* Initialisation de mes variables */
$Adresse = NULL;
$Adresse2 = NULL;
$CodePostal = NULL;
$Ville = NULL;
$Pays = NULL;
for ($i = 0; $i < $j; $i++)
{
if($i==10){
$Adresse = $ligne[$i];
}
if($i==11){
$Adresse2 = $ligne[$i];
if (preg_match("#B.P.13#", $Adresse2)) {
$Adresse2 = '';
}else{
$Adresse2 = preg_replace('/BP.*/', NULL, strtoupper($Adresse2));
}
}
if($i==12){
$CodePostal = $ligne[$i];
}
if($i==13){
$Ville = $ligne[$i];
$Ville = preg_replace('/CEDEX.*/', '', strtoupper($Ville));
}
if($i==14){
$Pays = $ligne[$i];
}
/*
if ($Pays == "FRANCE METROPOLE"){
$adresseBrut = urlencode($Adresse." ".$Adresse2." ".$CodePostal." ".$Ville);
}else{
$adresseBrut = urlencode($Adresse." ".$Adresse2." ".$CodePostal." ".$Ville." ".$Pays);
}
/* Test affichage d'adresse */
echo $Adresse;
}
}
fclose ($fp);
}
else
{
echo "Ouverture du fichier impossible.";
}
?> |
Ici je ne teste que l'affichage des adresses.
Si j'initialise mes variables le résultat donne sa :
adresse1adresse1adresse1adresse1adresse1adresse1adresse1adresse2adresse2adresse2adresse2adresse2adresse2adresse2adresse3adresse3...
Si je ne les initialise pas voici mon erreur :
Notice: Undefined variable: Adresse in "Chemin Fichier" on line 82
Une idée ?
Merci à vous.