Поиск информации на сайте

Поиск информации на сайте

введите строку, определяющую начало создания формы:

Атрибут action (Действие) тега задает сценарий poisk.php для поиска информации на сайте. Чтобы создать поле ввода ключевого слова, введите код:Введите строку для поиска:

Введите код для создания кнопки, позволяющей отправить данные формы:

Наберите на клавиатуре тег завершения формы:


HTML-код для формы поиска информации

Сохраните документ в папке для документов web-сервера Apache C:\Apache\
htdocs под именем poisk.htm.

Перейдите к окну браузера.
В поле ввода адреса введите строку http://localhost/poisk.htm и нажмите клавишу
В окне браузера появится созданная форма.

Теперь нужно подготовить для поиска сайт, созданный в одной из предыдущих глав
книги.

Скопируйте папку Examples\Глава 11\Сайты с прилагаемого к книге компактдиска в папку для документов web-сервера Apache C:\Apache\htdocs.

Давайте создадим скрипт для поиска информации на сайте.
Перейдите к окну программы Блокнот (Notepad).


Выберите команду меню Файл ‹ Создать (File ‹ New), чтобы создать новый
документ.

Введите тег начала скрипта:
<?php
Для просмотра содержимого папки следует открыть каталог, по очереди считывать
файлы и закрыть папку.

Функция opendir(папка) открывает папку и возвращает
указатель на каталог. Функция readdir(указатель) возвращает имя следующего
файла в папке, связанной с указателем.

С помощью функции closedir(указатель)
можно закрыть папку, связанную с указателем.

Введите строку, в которой открывается папка с нашим сайтом:
$dir=opendir(«Сайты»);

Начните оператор цикла while, который использует функцию readdir() для
определения начала и конца цикла:
while ($имя_файла=readdir($dir)){

В данном цикле будут анализироваться все файлы папки.

Чтобы исключить из рассмотрения имена файлов текущего (.) и родительского (..)
каталогов, мы будем использовать оператор if, который проверяет значение переменной $имя_файла на равенство «.» и «..».

Кроме того, указанное ключевое слово следует искать только в HTML-документах,
которые можно определить по расширению имени файла.

Для этого удобно использовать функцию strpos(строка1, строка2), которая ищет место расположения
строки2 в строке1. Если строка1 не содержит строку2, то функция возвращает
значение false (Ложь).

Введите фрагмент кода, исключающий из рассмотрения ненужные файлы:
if (($имя_файла != «.») && ($имя_файла != «..») &&
(strpos($имя_файла,”.htm”)!=false) ) {

В переменной имя_файла хранится название проверяемого файла в папке Сайты.

Однако для дальнейшей работы с файлом нужно получить его полное имя относительно папки для документов web-сервера Apache.

Чтобы создать данное имя, можно
воспользоваться операцией конкатенации . (Точка) – объединения двух строк.

Введите строку, формирующую полное имя файла:
$имя_файла1=»Сайты/».$имя_файла;
Наберите на клавиатуре фрагмент кода:
$rfile=fopen($имя_файла1,»r»);
$Содержимое=fread($rfile,filesize($имя_файла1));


В первой строке фрагмента открывается текущий файл. Во второй строке считывается все содержимое открытого файла

.Начните оператор if, который проверяет, есть ли введенная в форме строка в
текущем файле:

if (strpos($Содержимое,$Поиск)!=false) {
Введите фрагмент кода, формирующий адрес web-страницы с найденным ключевым словом:
$URL_страница=»Location: http://localhost/».$имя_файла1;
Наберите на клавиатуре следующий код:

header($URL_страница);
exit;}

Первая строка кода отображает в окне браузера страницу, в которой содержится
введенная в форме строка. Во второй строке завершается работа скрипта и закрывается оператор if.
Введите фрагмент кода:
fclose($rfile);
}}

В первой строке фрагмента закрывается проверяемый файл. Во второй строке закрываются операторы if и while.

Наберите на клавиатуре следующий код:
closedir($dir);
?>

В первой строке кода закрывается папка с сайтом. Во второй строке завершается
скрипт на языке PHP.

Далее введите базовый HTML-код:
<html>
<head>
<title>Поиск информации</title>
</head>
<body>
</body>
</html>

Ниже тега <body> наберите на клавиатуре код скрипта :
<?php
echo “Страница с указанной строкой на сайте отсутствует”;
?>


Скрипт поиска информации

В первой строке набранного кода находится тег начала скрипта.

Во второй строке
браузеру отправляется сообщение о том, что страницы с указанной в форме строкой
нет на сайте. В третьей строке скрипт завершается.

Сохраните документ в папке C:\Apache\htdocs под именем poisk.php.

Перейдите к окну браузера, в котором отображается форма для поиска информации.

В поле ввода введите слово Память, страницу с которым нужно найти на сайте.

Нажмите кнопку OK. В окне браузера появится страница сайта, на которой
отображается искомое слово.

Нажмите клавишу . В окне браузера вновь появится форма для поиска
информации.


В поле ввода введите слово Мяч.

Нажмите кнопку OK. В окне браузера появится сообщение о том, что страница с
указанным словом не найдена.

Страница не найдена
Созданный скрипт для поиска информации можно улучшить. Например,
полезно включить возможности поиска в подкаталогах, а также выделения обнаруженной строки на отображаемой web-странице.

 

Понравилась статья? Поделиться с друзьями:
Блог  Измайлова Павла
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: