Fichier texte et tableau

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Fichier texte et tableau

par Cyrano » 15 déc. 2006, 18:31

...dans mon coeur ton nom serra toujours synonyme de felicité et d'amour. (j'ai entendu cette phrase dans un films , ça claque non?
:lol:

par ciboubou » 15 déc. 2006, 17:37

ba je vai essayé ça merci monsieur !!
dans mon coeur ton nom serra toujours synonyme de felicité et d'amour. (j'ai entendu cette phrase dans un films , ça claque non?, c mieu qu'un simple merci)

par Cyrano » 15 déc. 2006, 15:24

Sachant qu'une ligne normale ne commence jamais ni ne finit par une virgule, tu peux faire l'opération sur les deux possibilités : "\n ?," et ", ?\n" (L'espace suivi d'un ? indique la présence facultative d'un espace entre les deux éléments et serait utilisable avec un preg_replace() au lieu de str_replace())

par ciboubou » 15 déc. 2006, 15:16

l'idée est bonne
dans le cas

Code : Tout sélectionner

125, "texte1" , "test2" , 0 , 0 , 1 "x" 125, "texte1" , "test2" , 0 , 0 , 1 "x" 125, "texte1" , "test2" , 0 , 0 , 1 "x" 125, "texte1" , "test2" , 0 , 0 , 1 "x"
et si ça fait

Code : Tout sélectionner

125, "texte1" , "test2" , 0 , 0 , 1 "x" 125, "texte1" , "test2" ,0 , 0 , 1 "x" 125, "texte1" , "test2" , 0 , 0 , 1 "x" 125, "texte1" , "test2" , 0 , 0 , 1 "x"
je peu pas faire la difference entre

Code : Tout sélectionner

125, "texte1" , "test2" , 0 , 0 , 1 "x"
et

Code : Tout sélectionner

125, "texte1" , "test2"

par Cyrano » 15 déc. 2006, 09:26

Il faudrait faire un remplacement dans le fichier au préalable, avec par exemple :
$contenu = str_replace(",\n", ",", $contenu);
But de la manœuvre, supprimer les retours qui suivent une virgule. Après ça, tu ré-écris le fichier et tu le traites normalement.

Fichier texte et tableau

par Ciboubou » 15 déc. 2006, 08:52

bonjours j'ai un fichier texte qui ressemble a ça :

Code : Tout sélectionner

125, "texte1" , "test2" , 0 , 0 , 1 "x" 125, "texte1" , "test2" , 0 , 0 , 1 "x" 125, "texte1" , "test2" , 0 , 0 , 1 "x" 125, "texte1" , "test2" , 0 , 0 , 1 "x"

j'ai crée un script pour le traité qui lit le fichier ligne par ligne et qui fait un explode pour traiter les donnée avec , comme separateur

$file ="data.txt";
    $fd = @fopen($file,"r");
    
    if (!$fd) die("Impossible d'ouvrir le fichier");

    while (!feof($fd)) {
        $ligne = fgets($fd, 1024);
        if (!feof($fd)){
			$data = explode(",", $ligne);
			// ici le reste de mon script de traitement 
			$texte = $data[3];
		}
    }
    
    fclose($fd);

mon probleme c'est je me suis aperçu que dans le fichier que j'utilise sur certaine lignes ça me mets comme si dessous .

En gros se qui devrez etre sur une seul ligne se retrouve sur 2 ligne, se qui me fait une erreur d'offset

Code : Tout sélectionner

Notice: Undefined offset: 15 insert_data.php .......

Code : Tout sélectionner

125, "texte1" , "test2" , 0 , 0 , 1 "x" 125, "texte1" , "test2" , 0 , 0 , 1 "x" 125, "texte1" , "test2" , 0 , 0 , 1 "x" 125, "texte1" , "test2" , 0 , 0 , 1 "x"
vous avez pas un moyen pour reglé ce leger probleme?

en gros je reçoi un fichier texte tout les jours pour metre a jours une base de donnée et je sais pas forcement les ligne qui auron ce type de probleme