Pages 1 | 2
La fonction d'indexation et le
champ origine
Quelle est donc cette fonction...
indexation($file, $src);
...C'est tout simplement le coeur du script du dernier tutoriel
que nous avons "transformé" en fonction. Rien de
bien sorcier :
function indexation($nomfichier, $origine)
{
$str_ini = join('', file($nomfichier));
$contenu = strip_tags($str_ini);
// -------- TRAITEMENTS PHP ---------
// Insère les mots et leurs
occurences...
while (list ($key, $val) = each ($occurences))
{
$req="insert
into moteur (mot, poids, origine, titre_page) values ('$key', $val,
'$origine',
'titre_page')";
$idreq=mysql_query($req);
}
// -------- TRAITEMENTS PHP ---------
}
Voilà résumés les changements
à opérer sur le script de l'épisode précédent.
Le premier paramètre passé à la fonction est
tout simplement le nom du fichier à indexer, tandis que le
second va servir à implémenter le champ "origine"
de la table "moteur".
Initialement égal à 'origine', ce champ reçoit
désormais la valeur '$origine'.
Au chapitre des modifications nous avons également sorti
de la boucle d'indexation les lignes relatives à la connection
à la base de données, inutile qu'elles soient répétées.
Enfin, la fonction de mise à jour du titre
a elle aussi été modifiée, de deux manières
:
// Mise à jour du titre
$titre_tmp = htmlspecialchars($regs[1], ENT_QUOTES);
$req_titre="update moteur set titre_page = '$titre_tmp' where
origine = '$origine'";
$idreq_titre=mysql_query($req_titre);
if ($idreq_titre == 0)
{
echo("erreur maj titre<br>");
mysql_close($idconnect);
exit;
}
Les expressions en gras sont celles qui ont été modifiées.
Il nous fallait premièrement éviter que le script
ne se plante sur un script contenant un caractère "simple
quote" par exemple (nous tâchons d'améliorer notre
script au fur et à mesure), c'était un oubli dans
la version précédente.
Ne pas oublier également la condition "where"
dans la mise à jour du titre !
Cette clause était inutile auparavant puisque nous traitions
un seul fichier à la fois. Aujourd'hui, si nous ne précisons
pas cette restriction lors de la mise à jour, le titre du
dernier tutoriel indexé sera présent dans tous les
champs de la base.
Voici
notre script "moteur.php" mis à jour, ainsi
que le
jeu de test utilisé ici.
A titre indicatif l'indexation a pris environ 3mn pour un peu plus
de 2000 champs insérés dans la table "moteur"
sous windows 2000, le tout cadencé à 1Ghz.
Pages 1 | 2
|