Maison > développement back-end > tutoriel php > Comment utiliser PHP et CGI pour implémenter les fonctions de recherche et de filtrage de fichiers du site Web

Comment utiliser PHP et CGI pour implémenter les fonctions de recherche et de filtrage de fichiers du site Web

王林
Libérer: 2023-07-21 15:20:02
original
1125 Les gens l'ont consulté

Comment utiliser PHP et CGI pour implémenter la fonction de recherche et de filtrage de fichiers du site Web

Lors du développement d'un site Web, nous devons parfois fournir aux utilisateurs une fonction de recherche et de filtrage de fichiers afin que les utilisateurs puissent trouver rapidement les fichiers dont ils ont besoin. Il s'agit d'une fonction très courante sur de nombreux sites Web, comme la recherche de produits sur les sites de commerce électronique, la recherche de chansons sur les sites de musique, etc. Cet article explique comment utiliser PHP et CGI pour implémenter une fonction simple de recherche et de filtrage de fichiers.

Tout d’abord, nous devons clarifier la fonction que nous souhaitons implémenter. Les utilisateurs doivent saisir un mot-clé pour rechercher, et le système recherchera les fichiers en fonction du mot-clé et affichera les fichiers qui remplissent les conditions sur la page. De plus, les utilisateurs peuvent également filtrer les résultats de recherche en fonction de conditions spécifiques, telles que le type de fichier, la taille du fichier, la date de création du fichier, etc.

Tout d'abord, nous devons créer un formulaire de recherche pour permettre aux utilisateurs de saisir des mots-clés. Nous pouvons utiliser la balise HTML form pour créer ce formulaire, comme indiqué ci-dessous :

<form action="search.php" method="get">
  <input type="text" name="keyword" placeholder="请输入关键字" />
  <input type="submit" value="搜索" />
</form>
Copier après la connexion

Une fois que l'utilisateur a soumis le formulaire, les données du formulaire seront envoyées au fichier PHP search.php pour traitement. Dans search.php, nous devons récupérer les mots-clés saisis par l'utilisateur et effectuer une recherche de fichiers.

<?php
// 获取用户输入的关键字
$keyword = $_GET['keyword'];

// 执行文件搜索
$files = glob("*.*");

// 过滤文件,只保留符合条件的文件
$filteredFiles = array_filter($files, function ($file) use ($keyword) {
    if (stripos($file, $keyword) !== false) {
        return true;
    }
    return false;
});

// 输出搜索结果
foreach ($filteredFiles as $file) {
    echo '<a href="' . $file . '">' . $file . '</a><br />';
}
?>
Copier après la connexion

Dans le code ci-dessus, nous utilisons la fonction glob pour obtenir la liste de tous les fichiers. Ensuite, nous avons utilisé la fonction array_filter pour filtrer les fichiers et conserver uniquement les fichiers qui remplissent les conditions. Dans cet exemple, nous utilisons la fonction stripos pour déterminer si le nom de fichier contient le mot-clé de recherche, et renvoie vrai si c'est le cas, sinon il renvoie faux.

Ensuite, nous devons fournir une fonctionnalité de filtrage pour les utilisateurs. Nous pouvons utiliser la balise HTML select pour créer un menu déroulant dans lequel les utilisateurs peuvent sélectionner différentes conditions de filtre, comme indiqué ci-dessous :

<form action="search.php" method="get">
  <input type="text" name="keyword" placeholder="请输入关键字" />
  <select name="filter">
    <option value="all">所有文件类型</option>
    <option value="txt">文本文件</option>
    <option value="jpg">图片文件</option>
    <option value="mp3">音频文件</option>
  </select>
  <input type="submit" value="搜索" />
</form>
Copier après la connexion

Dans search.php, nous devons obtenir les conditions de filtre sélectionnées par l'utilisateur et filtrer les fichiers en fonction sur les conditions.

<?php
$keyword = $_GET['keyword'];
$filter = $_GET['filter'];

$files = glob("*.$filter");

$filteredFiles = array_filter($files, function ($file) use ($keyword) {
    if (stripos($file, $keyword) !== false) {
        return true;
    }
    return false;
});

foreach ($filteredFiles as $file) {
    echo '<a href="' . $file . '">' . $file . '</a><br />';
}
?>
Copier après la connexion

Dans le code ci-dessus, nous utilisons la fonction générique de la fonction glob pour spécifier que seuls les fichiers d'un type spécifique doivent être recherchés. En fonction des critères de filtre sélectionnés par l'utilisateur, nous remplaçons la partie type de fichier dans le caractère générique par la valeur de la variable $filter.

Avec l'exemple de code ci-dessus, nous avons implémenté une fonction simple de recherche et de filtrage de fichiers. Les utilisateurs peuvent saisir des mots-clés pour rechercher et filtrer en fonction du type de fichier. Le système renverra ensuite une liste de fichiers éligibles que l'utilisateur pourra consulter.

Il convient de noter que l'exemple de code ci-dessus n'est qu'une simple implémentation, et certaines modifications et optimisations peuvent être nécessaires en fonction des besoins spécifiques des projets réels. Par exemple, vous pouvez ajouter une fonction de pagination pour éviter le chargement lent des pages causé par un trop grand nombre de résultats de recherche. De plus, une fonction de tri peut être ajoutée pour permettre aux utilisateurs de trier les résultats de recherche selon des critères spécifiques.

Pour résumer, il n'est pas compliqué d'utiliser PHP et CGI pour mettre en œuvre les fonctions de recherche et de filtrage de fichiers du site Internet. La clé est d'obtenir les mots-clés saisis par l'utilisateur et d'effectuer une recherche et un filtrage de fichiers en fonction des mots-clés. Grâce à cette fonctionnalité simple, nous pouvons offrir une meilleure expérience utilisateur et permettre aux utilisateurs de trouver rapidement les fichiers dont ils ont besoin.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal