Создаем, программируем, шлифуем и раскручиваем web-caйт. Серия Быстро и легко - Алексеев Ю.М.
Скачать (прямая ссылка):
name-"Поиск"
> Введите код для создания кнопки, позволяющей отправить данные формы: <pxinput type="submit" name--submit- value=»OK-x/p>
> Наберите на клавиатуре тег завершения формы (Рис. 8.56): </form>
I фіДл Праи I1OpMAT Вт Спраакі
1
І
<htm> <head>
<Ше>Поиск инфорнацнн</Ш1е>
</liead> і- -.і ¦
<body>
<fomi iuettiod="posr action="poisk.php">
<р>Вв едите строку для поиска: ^iiiput type="text" шшіе="Поиск" size=10></p> <pxuipiit type="subuitt" nanie="subinir value="OK"></p> </form> </body>
</hbu> V '' ' ' '
Puc. 8.56. HTML-код для формы поиска информации
- Сохраните > документ в папке для документов Web-сервера C:\Program Files\Apache Group\Apache\htdocs под именем poisk.htm.
Apache ¦ •¦ri
> Перейдите к окну браузера.
> В поле ввода Адрес (Address) введите строку http://localhost/poisk.htm и нажмите клавишу [pnlirl. в окне браузера появится созданная форма (Рис. 8.57).
I Атас ЩД міу-./ЛосшЬ^Мфїімі
Введите строку для поиска;
Рис. 8.57. Форма для поиска информации
Теперь нужно подготовить для поиска сайт, созданный в одной из предыдущих глав книги.
>- Скопируйте папку с прилагаемого к книге компакт-
диска в папку для документов Web-сервера Apache C:\Program FileeXApache . Group\Apache\htdocs. .
1
376_Быстро и легко создаем, программируем и раскручиваем Web-сайт
Давайте создадим i скрипт .для поиска информации на сайте. .. H
> Перейдите к окну программы Блокнот (Notepad). '•-4'-'
v Выберите команду меню Файл * Создать (File* New), чтобы создать новый доку-
¦ мент. ' ' •' Ь--. ''^
> Введите тег начала скрипта: ' ¦ ' *лЛ lf\% 1~>*еї$* 1 ' ¦¦'¦^.K?»?^-<fa
Для просмотра содержимого папки следует открыть каталог, по очереди считывать файлы и закрыть папку. Функция opendir (папка) открывает папку и возвращает указатель на каталог. Функция readdir (указатель) возвращает имя следующего файла в папке, связанной с указателем. С помощью функции closedir (указатель) можно закрыть папку, связанную с указателем. .....
> Введите строку, в которой открывается папка с нашим сайтом: ..Д. ^ , $dir=opendir("Сайты"); "' '
> Начните оператор цикла while, который использует функцию readdir() для определения начала и конца цикла:
while ($имя_файла=геаааіг($аіг)) { . '.. /:"*їїЙі+<«*.»ї.ї*
В данном цикле будут анализироваться все файлы папки.
Чтобы исключить из рассмотрения имена файлов текущего (.) и родительского (..) каталогов, мы будем использовать оператор который проверяет значение переменной $имя_файла на равенство "." и
Кроме того, указанное ключевое слово следует искать только в HTML-документах, которые можно определить по расширению имени файла. Для этого удобно использовать функцию которая ищет место расположения
ки2 в строкеї. Если строкаї не содержит строку2, то функция возвращает значе-. ние?а1ае(Ложь). . ,
Введите фрагмент кода, исключающий из рассмотрения файлы:
if (($имя_файла != ".") && ($имя_файла !="..")&& , хЪ^^э-.'V'''
(аЪгров($имя_файла, " .htm") !=false) ) { .".-A-*.
В переменной имя_файла хранится название проверяемого файла в папке Сайты. 'Од- * нако для дальнейшей работы с файлом нужно получить его полное имя относительно папки для документов Web-сервера Apache. Чтобы создать данное имя, можно воспользоваться операцией конкатенации . (Точка) - объединения двух строк.
Введите строку, формирующую полное имя файла:
$имЯ_файла1=»Сайты/" .$имя_файла; ^ ,,..,^ ' ,
> Наберите на клавиатуре фрагмент кода:
$г?11е=?ореп($имя_файла1,"г")і
$Содержимое=?геаа($г?і1е,?і1еаіге($имя_файла1));
ГЛАВА 8. Создаем сценарии на PHP 5
377
В первой строке фрагмента открывается текущий файл. Во второй строке считывается все содержимое открытого файла. ¦
> Начните оператор if, который проверяет, есть ли введенная в форме строка в текущем файле:
if (8Ъгро8($Содержимое,$Поиск)I=false) {
> Введите фрагмент кода, формирующий адрес Web-страницы с найденным ключевым
словом:
$таь_страница=пLocation: http://looalhost/".$имя_файла1;
> Наберите на клавиатуре следующий код: •• ,::,*> vu&fc«*-z ¦
header($икь_страница); Wt-.-- ¦¦¦¦ Jf-
exit;} 'лv '"' r' I: '
Первая строка кода отображает в окне браузера страниЦу^в' которой содержится введенная в форме строка. Во второй строке завершается работа скрипта и закрывается оператор if. ".7 .;• ' » -
Введите фрагмент кода:
fc3 }}
fclose($rfile); . .,.^.•.•.i^^r
В первой строке фрагмента закрывается проверяемый файл. Во второй строке закрываются операторы if и while. "п '!'
¦>'л:
Наберите на клавиатуре следующий код: closedir($dir); .^.^ v. . • : ; ;>
В первой строке кода закрывается папка с сайтом. Во второй строке завершается скрипт на языке ,
> Далее введите базовый HTML-код: ' ' . •¦';; ' " ;. ' •' '
<htmi> •-•<*».'••••<•>•'•:• • Ч^^'П*.
<head> . • .• гі.\ V ¦ '