Stocker les dernières recherches ds un fichier txt

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 : Stocker les dernières recherches ds un fichier txt

par Truc » 29 juil. 2006, 22:44

Il faut distinguer les deux scripts écriture et lecture.

Le script précédent est la lecture.
Ceci est l'écriture:
$fichier = fopen('recherches.txt','a'); 
    if ($fichier) { 
        fputs($fichier, $recherche."\n");
    } 
    fclose($fichier);
Pour les sauts de lignes ajoute "\n" en fin de chaine contenant la requête.

Si tu est en PHP5 tu peux regrouper l'écriture en une ligne:
file_put_contents('recherches.txt',$recherche."\n",FILE_APPEND);

Re

par indexor » 29 juil. 2006, 22:24

Bonsoir

j'ai essayé la code que tu m'as filé ça marche , sauf pour la selection des 10 dernières requetes , il me donne toutes les requetes effectuées ...

donc la selection des dix dernières rechreches ne marche tjs pas :(

le code que j'ai utilisé :
<?php $fichier = file('recherches.txt'); //lecture du fichier
$nb_lignes = count($fichier);  // nombre de lignes du fichier

//boucle qui démarre de la fin pour arriver à [fin - 10] lignes
for($i=($nb_lignes-1);$i>=($nb_lignes-10);$i--)
    echo $fichier[$i].'<br>';   
?> </td>
     </tr>
   </table>
   <p>
     
     <?php

 	
	$fichier = @fopen('recherches.txt,'a'); 
	if ($fichier) { 
		@fputs($fichier, "$recherche");
	} 
	@fclose($fichier);  
?> 

kand j'ai visualisé le fichier recherches.txt j'ai remarqué que toute les recherche enragistrées dans une seule ligne, c à d ya pas de saut de ligne ds le fichier txt :(
merci de votre aide

Merci

par indexor » 29 juil. 2006, 15:50

Merci beaucoup pour ton aide , je vais tester ce que tu m'as proposer et je te tiens au courant.

Peace :)

par Truc » 28 juil. 2006, 23:54

Salut,

C'est un peu fouilli tout ça :?
Préfère les balises [ PHP] à [ Code] c'est plus lisible pour un code PHP.
Doucement sur les double posts l'autre message est parti à la poubelle


Je pense que tu as retourné la fonctionalité des deux bouts de script :wink:

sinon pour n'afficher (différent de lire) que les dernières lignes tu peux utiliser file() qui retourne le fichier sous forme de tableau et une boucle sur les dernier éléments:
$fichier = file('txt.txt'); //lecture du fichier
$nb_lignes = count($fichier);  // nombre de lignes du fichier

//boucle qui démarre de la fin pour arriver à [fin - 10] lignes
for($i=($nb_lignes-1);$i>=($nb_lignes-10);$i--)
	echo $fichier[$i].'<br>';
Sinon reste qussi fseek() un exemple a été proposé pour lire depuis la fin.

Stocker les dernières recherches ds un fichier txt

par indexor » 28 juil. 2006, 22:59

Bonjour ,

j'ai un petit problème , j'aimerai stocker les requetes de mon formulaire de recherche dans un fichier "txt recherche.txt " et visualiser sur la meme page les 10 dernieres recherches executées.
voici mon essaye :
<?php
   $fichier = @fopen('recherches.txt','r');
   if ($fichier) {                 
      while (!feof($fichier)) {       
         $ligne = @fgets($fichier, 5);
         echo $ligne;
      }
   }
   @fclose($fichier);
?>

et voici la visualisation :

 <?php

    
   $fichier = @fopen('recherches.txt','a');
   if ($fichier) {
      @fputs($fichier, "$rechrerche");
   }
   @fclose($fichier); 
?>


je veux limiter la visualisation des resultats aux 10 dernière .

pouvez vous m'aidez ???