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
A voir également:

8 réponses

Alain_42 Messages postés 5413 Statut Membre 894
 
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
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
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
Alain_42 Messages postés 5413 Statut Membre 894
 
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
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
Alain_42 Messages postés 5413 Statut Membre 894
 
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bg62 Messages postés 26231 Date d'inscription   Statut Modérateur Dernière intervention   2 418
 
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
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
Alain_42 Messages postés 5413 Statut Membre 894
 
Je n'en voit pas l'interêt
0
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
Alain_42 Messages postés 5413 Statut Membre 894
 
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
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