[Resolu]Problème de mise en forme de Fichier .txt

Problème de mise en forme de Fichier .txt [Resolu] - PHP - Programmation

Marsh Posté le 30-05-2009 à 17:53:29    

Bonjour,
 
Je cherche a traiter un fichier .txt en PHP dynamiquement.
 
 
 
Je reçois un rapport qui ressemble a l'exemple ci-dessous:
 
 
exemple:
 
*.txt : Process OK
 
PHP: Surligné la ligne en vert lors de l'affichage
 
Code utilisé :
 
 
<?php
echo '<pre>';
//lecture intégrale d'un fichier
if($toto =readfile("licence.txt" ))// si le fichier a été lu correctement, affichage du contenu sur le navigateur
{
 
}
else
{
echo "erreur";
}
 
?>
 
Et je voudrai que lors de l'affichage du site le texte se surligne en vert.
Il ne faut pas qu'il y ai intervention humaine, vu que je vais recevoir environ 100 à 150 fichier texte.
 
Et je ne sait pas comment faire.
 
N'hésitez pas a proposer des solution
 
Cordialement


Message édité par thanks33 le 02-06-2009 à 11:47:14
Reply

Marsh Posté le 30-05-2009 à 17:53:29   

Reply

Marsh Posté le 30-05-2009 à 17:57:38    

<?php
echo '<pre>';
//lecture intégrale d'un fichier
if(readfile("licence.txt" )== TRUE)// OU //if(readfile("licence.txt" ))//
{
$toto =readfile("licence.txt" )
echo ('<font color="green"');
$toto =readfile("licence.txt" )
echo $toto;
echo ('</font>');
 
}
else
{
echo "erreur";
}
 
?>

Reply

Marsh Posté le 30-05-2009 à 18:19:19    

euh, çà va juste afficher le texte 3 fois [:petrus75]
Mieux vaut utiliser file_get_contents dans ce cas :

Code :
  1. $content = file_get_contents('licence.txt');
  2.  
  3. if(!$content) {
  4.    echo 'Une erreur est survenue';
  5. } else {
  6.    echo '<div style="background-color: green;">' . $content . '</div>';
  7. }

Reply

Marsh Posté le 30-05-2009 à 18:42:22    

Merci de votre aide.
 
Je pense que je me suis mal exprimé.
 
Mon fichier .txt ressemblera a sa :     Process ... OK
                                                   Process2.... OK
                                                   Process3..... KO
 
Je voudrai que lorsque le Process retourne KO, la ligne soit surlignées en vert.
 
J'ai longtemps cherché sur internet,et j'ai testé plusieurs solution.....
 
Rien a fonctionné  
 
Cordialement

Reply

Marsh Posté le 30-05-2009 à 18:51:22    

Code :
  1. $content = file('licence.txt');
  2.  
  3. if(!$content) {
  4.    echo 'Une erreur est survenue';
  5. } else {
  6.    foreach($content as $line) {
  7.        $color = (substr($line, -2) == 'KO') ? 'red' : 'green'; //rouge si KO, vert si OK : tu peux inverser si tu veux    
  8.        echo '<div style="background-color: $color;">' . $line . '</div>';
  9.    }
  10. }


Message édité par Profil supprimé le 30-05-2009 à 18:52:11
Reply

Marsh Posté le 30-05-2009 à 18:56:49    

merci de ton aide luc@s
 
 
 
Je viens de tester le code :
 

Code :
  1. <?php
  2.       $content = file('licence.txt');
  3.  
  4.      
  5.  
  6.       if(!$content) {
  7.  
  8.          echo 'Une erreur est survenue';
  9.  
  10.       } else {
  11.  
  12.          foreach($content as $line) {
  13.              $color = (substr($line, -2) == 'KO') ? 'red' : 'green'; //rouge si KO, vert si OK : tu peux inverser si tu veux     
  14.  
  15.              echo '<div style="background-color: $color;">' . $line . '</div>';
  16.  
  17.          }
  18.       }
  19.   ?>


 
 
Et mon fichier .txt ressemble a sa :

Code :
  1. Process OK
  2. Process KO
  3. Processss OK
  4. OK


 
 
Voici le rendu du site :
 
 

Code :
  1. Process OK
  2. Process KO
  3. Processss OK
  4. OK


 
 
Il me lit bien le fichier texte mais il ne me sort aucune couleur suivant le OK, KO
 
 
Cordialement


Message édité par thanks33 le 30-05-2009 à 19:09:28
Reply

Marsh Posté le 30-05-2009 à 19:20:23    

ah désolé
quel est le code source généré ?

Reply

Marsh Posté le 30-05-2009 à 19:24:46    

Voici le code source de la page :
 
 

Code :
  1. <div style="background-color: $color;">Process OK
  2. </div><div style="background-color: $color;">
  3. </div><div style="background-color: $color;">Process KO
  4. </div><div style="background-color: $color;">
  5. </div><div style="background-color: $color;">Processss OK
  6. </div><div style="background-color: $color;">OK</div>


 
 
Cordialement


Message édité par thanks33 le 30-05-2009 à 19:25:32
Reply

Marsh Posté le 31-05-2009 à 16:39:02    

quel idiot, je me suis fait avoir !
Le code valide est

Code :
  1. $content = file('licence.txt');
  2.  
  3. if(!$content) {
  4.    echo 'Une erreur est survenue';
  5. } else {
  6.    foreach($content as $line) {
  7.        $color = (substr($line, -2) == 'KO') ? 'red' : 'green'; //rouge si KO, vert si OK : tu peux inverser si tu veux    
  8.        echo "<div style=\"background-color: $color;\">$line</div>";
  9.    }
  10. }

Reply

Marsh Posté le 31-05-2009 à 19:39:25    

Merci pour ta réponse, mais malheureusement, sa surligne toute les lignes en vert
Voici le code source de la page :
 

Code :
  1. <div style="background-color: green;">Process OK
  2. </div><div style="background-color: green;">
  3. </div><div style="background-color: green;">Process KO
  4. </div><div style="background-color: green;">
  5. </div><div style="background-color: green;">Processss OK
  6. </div><div style="background-color: green;">OK</div>


 
Cordialement

Reply

Marsh Posté le 31-05-2009 à 19:39:25   

Reply

Marsh Posté le 01-06-2009 à 10:52:31    

Ok, j'ai compris. C'est à cause des sauts de ligne de file(). Il faut les virer !

Code :
  1. $content = file('licence.txt');
  2.  
  3. if(!$content) {
  4.    echo 'Une erreur est survenue';
  5. } else {
  6.    foreach($content as $line) {
  7.        $color = (substr(rtrim($line), -2) == 'KO') ? 'red' : 'green'; //rouge si KO, vert si OK : tu peux inverser si tu veux    
  8.        echo "<div style=\"background-color: $color;\">$line</div>";
  9.    }
  10. }


Message édité par Profil supprimé le 01-06-2009 à 10:52:53
Reply

Marsh Posté le 01-06-2009 à 14:02:51    

Merci beaucoup de ton aide, ça marche parfaitement.
 
Je met se topic en résolut
 
Cordialement

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed