Afficher le contenu d'une ligne en particulier.

Ici nous allons lire des données stockéss dans un fichier texte, ce sont des donéées séparées par ";".

Comme dans l'exmple de l'article "Afficher la structure d'un Array (tableau) en PHP"

nous allons exploiter les tableaux. 

Déja, il nous faut un fichier avec des donnnées.
Nous allons utilser comme exemple des citations aléatoires

Créons un fichier texte nomé, "datacitations.txt" contenant les lignes suivante :
Auteur;la citation 

datacitation.txt

F.Beigbeder;A force de faire semblant d'être amoureux, on le devient pour de vrai.
Bernard Shaw;Aimer une femme, c'est surestimer la différence qui existe entre une femme et une autre.
Ambrose Bierce;Beauté. Pouvoir qui permet à la femme de charmer un amoureux et de terrifier un mari.

citations.php

Créons le random pour la partie aléatoire, ceci avec la fonction Rand();

$rand=rand(0,2); // de 0 à 2 = 3 ligne (dans notre fichier datacitations.txt)

Nous allons initialiser un compteur, afin de compter les lignes pour en ressortire 1 aléatoirement.

$compteur=0; 

Ouverture et lecture du fichier avec Fgets

$handle = fopen("datacitation.txt", "r");
if ($handle) {
   while (!feof($handle)) {
      $buffer = fgets($handle, 4096);
     

   

       // Ici nous allons construire un double tableau. (explication plus bas)

         $texte[$compteur]=split(';',$buffer);
     
     
     
      // maintenant on incrémente le compteur.
       $compteur=$compteur+1;
   }
   fclose($handle);
}

Explication de la ligne
$texte[$compteur]=split(';',$buffer);

Les données seront sous cette forme :
$ligne0 = auteur0 ; citation 0
$ligne[0][0] (l'auteur de la ligne 0)
$ligne[0][1] (la citatation de la ligne 0)

Le premier [] étant le numéro de ligne, le second [] étant les datas contenu dans la ligne.


Affichier les données :
Echo $texte[$rand][0]; $texte[$rand][1];
$rand étant le numéro de ligne choisi au hasard. 

 

Code compltet à copier/coller citations.php 

<?php

$compteur=0;
$rand=rand(0,2);

$handle = fopen("datacitation.txt", "r");
if ($handle) {
   while (!feof($handle)) {
      $buffer = fgets($handle, 4096);
     
      $texte[$compteur]=split(';',$buffer);
     
       $compteur=$compteur+1;
   }
   fclose($handle);
}
    echo $texte[$rand][0]; $texte[$rand][1];

?> 

 


Publié le 28 Juin 2007 par luca | Ecouter l'article

Publié dans : Programmation

Accueil Précédent Suivant