Les Allergies
Alimentaires
Posez votre question Signaler

[PHP] Lire/écrire un fichier texte par ligne [Résolu]

Yoan 11813Messages postés 1 février 2005Date d'inscription ModérateurStatut 27 mai 2012Dernière intervention - Dernière réponse le 18 févr. 2012 à 13:44
Bonjour,
Le sujet a déjà été abordé sur quelques forums, mais je n'ai trouvé aucune réponse satisfaisante.
Je souhaite lire un fichier texte par ligne.
J'ai trouvé des histoires de fopen avec le 256e bit (comme quoi chaque 255 bit on considère une nouvelle ligne), mais je n'ai pas compris grand-chose.
Quelqu'un aurait-il une solution ?
Merci.
Lire la suite 

[PHP] Lire/écrire un fichier texte par ligne »

6 réponses
Réponse
+3
moins plus
Bonsoir,

une fonction php beaucoup plus simple:

file()

elle ouvre le fichier, le lit ligne par ligne, le met dans un array et ferme

$array_fichier=file('chemin_vers_ton_fichier/fichier.txt');
Ajouter un commentaire
Réponse
+2
moins plus
Bonjour,

Il faut ecrire ligne par ligne, donc dans un eboucle for:

Essayes comme ça, tu enlèvera les echo bien sur ensuite;

<?php
// LECTURE - Si fichier existe, lire les anciens chiffres, sinon mettre toutes les variables à 0
$path=getcwd();//recup du chemin vers les fichier
if(file_exists($path."/fichier.txt")){
  $array=file($path."/fichier.txt");
  $var1=$array[0];
  $var2=$array[1];
  $var3=$array[2];
  $var4=$array[3];
  $var5=$array[4];
  $var6=$array[5];
  $var7=$array[6];
  $var8=$array[7];
  $var9=$array[8];
  $var10=$array[9];
  $var11=$array[10];
  $var12=$array[11];
  echo "var1 lue: ".$var1."<br><br>";
  }
else
  {
  $var1=0;$var2=0;$var3=0;$var4=0;$var5=0;$var6=0;$var7=0;$var8=0;$var9=0;$var10=0;$var11=0;$var12=0;
  }

//...............traitement...............
//ECRITURE Ecrire les nouvelles valeurs $varX des compteurs
//il faur ecrire ligne par ligne, donc tu mets tes var dans un array, plus facile a parcourir
// bien sur tu mets les nouvelles valeurs des var avant de les rentrer dans l'array
$ajout=1;// valeur pour tester
$array_valeurs=array($var1,$var2,$var3,$var4,$var5,$var6,$var7,$var8,$var9,$var10,$var11,$var12);

if($compt=fopen($path."/fichier.txt",'w+')){
	for($i=0;$i<sizeof($array_valeurs);$i++){
		$n=$i+1;
		$val_a_ecrire=$array_valeurs[$i]+$ajout;
		fputs($compt,$val_a_ecrire."\r\n");
		echo "var$n ecrit: ".$val_a_ecrire."<br>";
	}
	fclose($compt);
}
?>

lio - 18 févr. 2012 à 13:44
quesque c'est que je ne comprend pas
Ajouter un commentaire
Réponse
+0
moins plus
MMMmmh, c'est mon code qui gère les incrémentations qui foire et qui décale les lignes.
Mais sinon ça marche.
Le problème des compteurs qui disparaissent c'est l'erreur de syntaxe que j'ai faite avec file() (pas de 'r+')

Merci !
Ajouter un commentaire
Réponse
-1
moins plus
Merci :)
Mon but c'est de réaliser un petit compteur. Chaque variable $varX peut être incrémentée ou non selon les cas
J'ai essayé comme ça :
// LECTURE - Si fichier existe, lire les anciens chiffres, sinon mettre toutes les variables à 0
if(file_exists("/fichier.txt"))
  {
  $array=file("/fichier.txt",'r+');
  $var1=$array[0];
  $var2=$array[1];
  $var3=$array[2];
  $var4=$array[3];
  $var5=$array[4];
  $var6=$array[5];
  $var7=$array[6];
  $var8=$array[7];
  $var9=$array[8];
  $var10=$array[9];
  $var11=$array[10];
  $var12=$array[11];
  }
else
  {
  $var1=$var2=$var3=$var4=$var5=$var6=$var7=$var8=$var9=$var10=$var11=$var12=0;
  }
...............traitement...............
//ECRITURE Ecrire les nouvelles valeurs $varX des compteurs
$compt=fopen("/fichier.txt",'w+');
fputs($compt,"$var1\r\n$var2\r\n$var3\r\n$var4\r\n$var5\r\n$var6\r\n$var7\r\n$var8\r\n$var9\r\n$var10\r\n$var11\r\n$var12");
fclose($compt);

Problème : A chaque écriture du fichier, il y a un retour à la ligne de trop.
Après 3 essais qui auraient dû incrémenter 3 fois les mêmes variables, je me retrouve avec 3 retours à la ligne de trop et du coup les compteurs ne sont pas incrémentés correctement et certains compteurs disparaissent :( :
0



1



0



0



0



0

Merci ! :)
liliDU3457U85GGHJD - 22 nov. 2011 à 19:05
salut c'est cool de communiquer ensemble je m'appelle:Lylia leonor voici mon facebook: leonor henri lylia
Ajouter un commentaire
Ce document intitulé « [PHP] Lire/écrire un fichier texte par ligne » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?