Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/02/2007, 21h47   #1
Invité de passage
 
Inscription : décembre 2006
Messages : 95
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 95
Points : 3
Points : 3
Par défaut Lire un fichier texte

Bonjour a tous,
j'ai fais ce code pour qu'il lise un fichier texte, et, si une chaine du fichier contient (en 1ere lettre) la lettre X (par exemple),
alors le script affiche qqch.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?
$fp = fopen("fichier.txt","r" );    
while(!feof($fp)) // Tant que l'on n'est pas à la fin du fichier on continue de lire le fichier
{
$ligne = fgets($fp, 1024); //lecture ligne par ligne
if (!feof($fp))  
 {
 $pos = strpos($ligne, 'P', 0);  
 if ($pos == "0" )    //si la 1ere lettre est un P
  {
  print "c'est cette ligne qui contient un P:$ligne<br>";
  }
 else
  {
  print "$ligne<br>"; //sinon on affiche la ligne normalement
  }
 }
}
fclose($fp);
?>
voila ce que ca me retourne:
c'est cette ligne qui contient un P:valeur1
c'est cette ligne qui contient un P:Paleur2
c'est cette ligne qui contient un P:valeur3

Alors que j'aimerais qu'elle retourne ceci:
valeur1
c'est cette ligne qui contient un P:Paleur2
valeur2

Voila, je pense que mon soucis est qu'il manque un test pour CHAQUE ligne, mais bon je ne vois pas trop lol
Quelqu'un saurait svp ?
d'avance merci !
dr_octopus74 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2007, 22h25   #2
Rédacteur
 
Avatar de Yoteco
 
Alain Sahli
Ingénieur développement logiciels
Inscription : décembre 2004
Messages : 1 086
Détails du profil
Informations personnelles :
Nom : Alain Sahli
Âge : 25

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2004
Messages : 1 086
Points : 1 479
Points : 1 479
Je ne suis pas sûr d'avoir bien compris ce que tu veux mais essaye ce code:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
<?php
$fp = fopen("fichier.txt","r" );
while(!feof($fp)) // Tant que l'on n'est pas à la fin du fichier on continue de lire le fichier
{
    $ligne = fgets($fp, 1024); //lecture ligne par ligne
 
    if(substr($ligne, 0, 1) == 'P')
    {
        echo 'C\'est cette ligne qui contient un P:'.$ligne.'<br>';
    }
    else 
    {
        echo $ligne.'<br>';
    }
}
fclose($fp);
?>
Yoteco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2007, 15h47   #3
Invité de passage
 
Inscription : décembre 2006
Messages : 95
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 95
Points : 3
Points : 3
c'est éxactement ce que je voulais! merci bcp !
dr_octopus74 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h42.


 
 
 
 
Partenaires

Hébergement Web