j'ai fait un ptit script qui me permet depuis un fichier csv uploader (formulaire) d'incrémenter une BD tout fonctionne sauf lorsque le fichier csv qui a le ; comme séparateur comporte des contenus de champs qui ont des caractéres dans le texte comme des apostrophes ou des points virgules .. cela fausse l'ensemble de senregistrements. je suis à la recherche d'une ptite fonction oui manip qui me permettrait de délimiter les points virgules csv (séparateurs de champs) des autres caractères des textes contenus dans les champs..
voici la partie du script : while(!feof($fichier)) {
$ligne = fgets($fichier,4096) ; $ligne = substr($ligne, 0, strlen($ligne)-1) ; $liste = explode(";",$ligne) ; $size = sizeof($liste) ; if( $size == 10 ) { // Requetes pour insertion dans la base $query = "insert into $table values('$liste[0]','$liste[1]','$liste[2]','$liste[3]','$liste[4]','$liste[5]','$liste[6]','$liste[7]','$liste[8]','$liste[9]')" ; $result = mysql_query($query) ; }
Marsh Posté le 31-03-2005 à 12:53:02
bonjour,
j'ai fait un ptit script qui me permet depuis un fichier csv uploader (formulaire) d'incrémenter une BD
tout fonctionne sauf lorsque le fichier csv qui a le ; comme séparateur comporte des contenus de champs qui ont des caractéres dans le texte comme des apostrophes ou des points virgules .. cela fausse l'ensemble de senregistrements.
je suis à la recherche d'une ptite fonction oui manip qui me permettrait de délimiter les points virgules csv (séparateurs de champs) des autres caractères des textes contenus dans les champs..
voici la partie du script :
while(!feof($fichier)) {
$ligne = fgets($fichier,4096) ;
$ligne = substr($ligne, 0, strlen($ligne)-1) ;
$liste = explode(";",$ligne) ;
$size = sizeof($liste) ;
if( $size == 10 ) {
// Requetes pour insertion dans la base
$query = "insert into $table values('$liste[0]','$liste[1]','$liste[2]','$liste[3]','$liste[4]','$liste[5]','$liste[6]','$liste[7]','$liste[8]','$liste[9]')" ;
$result = mysql_query($query) ;
}
merci ..
joshua