PHP script d'indexation

darkchristophetd Messages postés 1100 Date d'inscription   Statut Contributeur Dernière intervention   -  
darkchristophetd Messages postés 1100 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
J'ai fait, sur mon site, un moteur de recherche interne qui recherche parmis des astuces (dans le même dossier).
Et, jusqu'alors, il fallait indexer chaque astuce manuellement.
J'ai commencé à développer un petit script qui récupère le titre, la description, et les mots clés d'une page :
<?php
$monfichier = fopen("fichier.php", "r+");
	//$contenu = fgets($monfichier);
	
	fseek ($monfichier, 174);
	$titre = fgets($monfichier);//on récupère le titre
	//$mots = explode('<', $mot);
	echo '<b>Titre : </b>'.$titre;
	?>
	<br>
	<?php
	fseek ($monfichier, 227);
	$desc = fgets($monfichier); //on récupère la description
	$desc = str_replace('"/>', '', $desc);
	echo '<b>Description :</b>'.$desc;
	?>
	<br><br>
	<?php
	fseek ($monfichier, 426);
	
	$motscles = fgets($monfichier); //on récupère les mots clés
	$motscles = str_replace('"/>', '', $motscles);
	echo '<b>Mots clés : </b>'.$motscles;
		
	fclose($monfichier); //on ferme le fichier

?>

Mais il y a deux problèmes :
1.Le curseur php se place automatiquement sur un nombre de caractère (pour la page).
Mais pour les autres pages, dont le titre, description sont différents....
Ca ne fera pas !
Donc comment puis-je faire pour récupérer une ligne d'un fichier ?

2.Ce script (mal ajusté) ne fait le travail que pour une page.
Comment faire pour qu'il fasse pareil avec tous les fichiers PHP d'un dossier ?

merci de votre réponse
Configuration: Windows XP
Firefox 2.0.0.18

8 réponses

  1. Alain_42 Messages postés 5413 Statut Membre 904
     
    Bonsoir,

    une fonction php très pratique: $array_fichier=file($mon_fichier)

    pas de besoin de fopen fclose elle fait tout et te rend le résultat dans un array $array_fichier

    après il suffit de parcourir cet array

    ex pour avoir la ligne 174

    $contenu_ligne_174=$array_fichier['173']; //les index commencent à 0
    0
  2. darkchristophetd Messages postés 1100 Date d'inscription   Statut Contributeur Dernière intervention   459
     
    merci bien je vais tester :D
    aurais-tu une idée pour que mon script PHP fasse pareil avec tous les fichiers PHP d'un dossier ?
    0
  3. darkchristophetd Messages postés 1100 Date d'inscription   Statut Contributeur Dernière intervention   459
     
    malheureusement, ça ne marche pas.
    Quand j'essaye avec ce code :
    <?php
    
    	$monfichier = fopen("chmod.php", "r+");
    	$fichier = file($monfichier) ;
    	$ligne_3 = $fichier[3];
    	echo $ligne_3 ;
    	fclose($monfichier);
    
    ?>
    

    Il me met :

    Warning: file() expects parameter 1 to be string, resource given in C:\wamp\www\Tests\ecriture.php on line 13
    0
    1. Alain_42 Messages postés 5413 Statut Membre 904
       
      Bonsoir,

      as tu lu ce que je t'ai écrit ?

      avec file() pas besoin de faire fopen() fclose()

      donc:

      
      <?php
      
      	$monfichier = "nom_de_ton_fichier.txt";
      	$fichier = file($monfichier) ;
      	$ligne_3 = $fichier[2];//1ier ligne premier index de l'array donc 0, il faut oter 1
      	echo $ligne_3 ;
      	
      
      ?>
      
      0
  4. darkchristophetd Messages postés 1100 Date d'inscription   Statut Contributeur Dernière intervention   459
     
    ok merci.
    Mais quand je met le code que tu m'as donné :
    <?php
    
    	$monfichier = 'test2.php';
    	$fichier = file($monfichier) ;
    	$ligne_3 = $fichier[2];
    	echo $ligne_3 ;
    	
    ?>
    

    Ma page n'affiche rien !
    Est-ce parceque c'est une page PHP ?
    0
    1. Alain_42 Messages postés 5413 Statut Membre 904
       
      Tant qu'a faire il vaut mieux lire un fichier texte

      parce que dans un fichier php tu doit avoir des instructions qui sont interprétées par la ligne echo ...

      donc peut être pas d'affichage correspondant

      essayes avec un fichier .txt par exemple
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. bg62 Messages postés 23433 Date d'inscription   Statut Modérateur Dernière intervention   2 435
     
    fais une recherche sur le mot " parseur " tu auras certainement un peu plus d'indications
    mais pour le fonctionnement, il faut qu'il soit intégré d'origine au script ou aux pages ...
    b g
    0
  7. darkchristophetd Messages postés 1100 Date d'inscription   Statut Contributeur Dernière intervention   459
     
    salut !
    en effet avec un fichier *.txt, ça marche super.
    Mais comment faire pour un en php ??
    merci :D
    0
    1. Alain_42 Messages postés 5413 Statut Membre 904
       
      Je n'en voit pas l'interêt
      0
  8. darkchristophetd Messages postés 1100 Date d'inscription   Statut Contributeur Dernière intervention   459
     
    salut
    ben enfait, c'est que je voudrai prendre dans chaque page dans un certain dosssier, le titre, description, mots clés puis les mettre dans la bdd de mon moteur de recherche.
    Si tu pouvais me dire comment on fait ...
    0
    1. Alain_42 Messages postés 5413 Statut Membre 904
       
      pour un fichier en php ça peut marcher si tu est sur qu'il y ait qq chose dan sla ligne que tu veux lire et du texte seulement

      est ce que tes titres osnt toujours au même endroit (n° de ligne) ? par exemple
      0
  9. darkchristophetd Messages postés 1100 Date d'inscription   Statut Contributeur Dernière intervention   459
     
    oui j'ai mis tous les titres, descriptions et mots clés à une ligne précise dans toutes mes pages à indexer
    0