begin process at 2012 05 29 01:43:40
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Débutants

 > 

explode fichier.csv


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

explode fichier.csv

lundi 12 décembre 2005 à 18:23:36 | explode fichier.csv

GregL

Hello ,

Je ne connais pas grand chose au PHP et il y'a quelque chose qui m'échappe lorsque que je veux ressortir chaque chaîne séparé par un point virgule  d'un fichier .csv.

Comme illustré ci-dessous , je suis obligé de passer par implode () si je veux pouvoir ressortir chaque variable $tab correctement et je ne saisis pas pourquoi  ....

$path= "fichier.csv";
  $file = implode ('',file("$path"));
  $tab = explode (';' , $file);
print_r ($tab);

Si je fais :
$path= "fichier.csv";
  $tab = explode (';' ,file ("$path"));
print_r ($tab);
Je tombe sur :
Notice: Array to string conversion in h:\... on line XXX
Array ( [0] => Array )

Par quoi faudrait-il que je remplace la fonction file() pour éviter cela et est-ce que quelqu'un pourrait m'expliquer pourquoi ...

Merci d'avance.

mardi 13 décembre 2005 à 01:00:25 | Re : explode fichier.csv

WhiteDwarf

Membre Club
tu peu la remplacer en ouvrant le fichier et le chargant dans une variable :

<?php
$fp = fopen("fichier.cvs",r);
$data = fread($fp,filesize("fichier.cvs"));
?>

et ensuite tu traite la variable $data...

----------------------
La lumière étant plus rapide que le son, un homme peu paraître brillant avant qu'il se mette a parler
-----------------

mardi 13 décembre 2005 à 23:02:01 | Re : explode fichier.csv

GregL

Je te remercie c'est effectivement une solution mais malheureusement ça ne fonctionnait pas car en exportant un tableau excel au format csv , Excel ne cloture pas les lignes par un point virgule donc je me retrouvais avec la dernière valeur de la ligne et la première de la ligne suivante pour une seule clé donc j'ai dû faire autrement .

J'ai trouvé cette fonction dans un bouquin :
function my_fgetcsv($filename,$sep)
{
 $arr=file($filename);
 $resultat=array("");
   foreach ($arr as $elem)
     {
     $str=str_replace("*"," " ,$elem);
     $buf=explode ($sep,$str);
     $resultat=array_merge ($resultat,$buf);
     }
 array_shift($resultat);
 return $resultat;
}
puis j'ai ajouté ça

$arr=my_fgetcsv("fichier.csv",";");
while ($val=each($arr))
 {
 echo "clé :",
      "<b>",$val[key],"</b>";
 echo " valeur : ","<b>",$val[value],"</b>","<br />";
 }

Ca fonctionnait parfaitement avec EasyPHP1.6 mais malheureusement plus avec la 1.8 ...
Notice: Use of undefined constant key - assumed 'key'

J'en déduis que le probléme provient de register_globals qui est passé à OFF .Je serais incapable de contourner ce problème pour le moment  mais je vais commencer à me renseigner . Si vous avez des suggestions n'hésitez pas , Merci d'avance ...



mardi 13 décembre 2005 à 23:42:43 | Re : explode fichier.csv

FhX

" while ($val=each($arr))
 {
 echo "clé :",
      "<b>",$val[key],"</b>";
 echo " valeur : ","<b>",$val[value],"</b>","<br />";
 }"

Heu .... ?

foreach ( $arr as $key=>$val ) {
 echo 'clé : <strong>'.$key.'</strong>';
 echo 'valeur : <strong>'.$val.'</strong><br />';
}

Pas plus simple ?
mercredi 14 décembre 2005 à 14:45:12 | Re : explode fichier.csv

GregL

En effet ,oui mais ça me fait contourner le problème alors que j'aurais bien voulu savoir comment redéfinir la constante [key] ...



jeudi 15 décembre 2005 à 11:47:49 | Re : explode fichier.csv

WhiteDwarf

Membre Club
"J'en déduis que le probléme provient de register_globals qui est passé à OFF .Je serais incapable de contourner ce problème pour le moment  mais je vais commencer à me renseigner . Si vous avez des suggestions n'hésitez pas , Merci d'avance ...
"

Si t'a ce problème en utilisant un serveur comme EasyPHP, donc apache, il faut que tu reconfigure apache et tu fais passer register_global à on...

----------------------
La lumière étant plus rapide que le son, un homme peu paraître brillant avant qu'il se mette a parler
-----------------



Cette discussion est classée dans : fichier, file, tab, csv, explode


Répondre à ce message

Sujets en rapport avec ce message

fichier csv ok sur serveur mais différent quand on le télécharge [ par maelob ] Bonjour à tous,Désolée le titre du sujet est pas très parlant mais j'ai pas trouvé mieux...Bon je recupere des données dans ma base pour crée un fichi fichier csv [ par mbik ] Bonjour, j'ai besoin de concatener plusieurs fichiers csv. On a donné une fonction qui transforme les fichiers en chaines et les mets dans une variabl Requète LOAD DATA sql / CSV (importation,exportation) [ par onylink ] Bonjour, J'ai un problème pour utiliser la méthode LOAD DATA, qui prend en fichier type CSV et le découpe et rentre automatiquement dans la BDD (mySQL imdbvotes [ par franky824 ] Bonjour j'ai un script php qui me récupère les informations sur le site imdb style : 1) note 2) votes 3) année 4) genre exemple : http:// upload fichier [ par errezl ] bonjour, Je suis entrain de developper une api sms/email sous zendframework.et dans mon application je dois charger un fichier csv que je dois mettre Envoyer un fichier CSV dans une base [ par Schlaf ] Bonjour, Dans le cadre d'une gestion RH pour une agence EDF, je dois mettre a jour une table qui contients tous les agents de l'agence gràce a un scri Remplacer une image par une autre [ par cdie ] Bonjour à tous, J'essaye en vain de faire un système de crop pour les images. Je passe donc tout en formulaire post. L'ajout d'une nouvelle image fonc Exécuter des requêtes mysql depuis un fichier excel ou csv [ par mbik ] Bonjours chers amis, Je suis dans la détresse faute de ne pouvoir résalier un projet qu'on a confié.Je suis un jeune stagiaire et novice en php. Voici Upload [ par inwebo ] Bonjour, Voilà mon problème. Je viens de coder une class PHP5 d'upload (je sais je suis à la pointe de l'innovation moi), et j'ai un comportement étr Tester un fichier : problème d'autorisations [ par pyrrah ] Bonjour, Je me retrouve confronter au problème suivant : Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(/va


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,279 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales