Разработка сайта. Система поиска по сайту
Оглавление
Введение
Всемирная паутина удивительна и загадочна. Сталкиваясь с аббревиатурами, обозначающими системы, которые чересчур часто меняются, пользователь может потерять терпение.
Одним из примеров нового направления информационных технологий может служить бурное развитие программ с открытым кодом (OSS - Open Source Software), свободно доступных как для распространения-, так и для модификации всеми желающими. Наиболее известной в этом смысле является операционная система Unix, в частности ядро Linux. Однако, хотя с помощью программ с открытыми исходниками создаются стабильные и очень полезные продукты, освоить их порой затруднительно. Отсутствие учебников для начинающих и удобных описаний не позволяет мощным технологиям стать настолько популярными, насколько они того заслуживают. РНР, весьма доступный язык написания сценариев для Web, представляет собой еще один прекрасный инструмент, который, хоть и обладает уникальными возможностями и легок в использовании, отпугивал многих до сегодняшнего дня.
1. О языке PHP
1.1 Что такое РНР?
PHP - язык создания сценариев, который давно перерос свое название. Дело в том, что PHP - это аббревиатура от слов Personal Home Page. Первая версия PHP была создана Расмусом Лердорфом в 1994 г. и представляла собой набор инструментов для отслеживания посетителей Web-страницы. Со временем PHP из набора инструментов превратился в полноценный язык программирования, а его название было изменено как рекурсивное образование PHP HyperText Preprocessor (препроцессор гипертекста PHP).
PHP - это серверный язык создания сценариев. Конструкции PHP, вставленные в HTML-текст, выполняются сервером при каждом посещении страницы. Результат их обработки вместе с обычным HTML-текстом передается браузеру.
В настоящее время основной версией PHP является пятая.
Существуют два основных конкурента PHP: Active Server Pages (ASP) компании Microsoft и ColdFusion компании Allaire. По сравнению с ними PHP обладает рядом преимуществ, в числе которых:
Высокая производительность. PHP-программы работают быстрее, чем ASP.
Функциональность. Разработку PHP-программы можно отделить от собственно разработки Web-страницы, что упростит жизнь и программисту, и дизайнеру.
Цена. PHP абсолютно бесплатен.
Простота в использовании. Имеющие опыт программирования на распространенных языках найдут синтаксис PHP хорошо знакомым.
Переносимость. Один и тот же PHP-код можно использовать как в среде NT, так и на платформах UNIX.
сайт система поиск язык
В качестве основной будет использоваться самая распространенная разновидность - MySQL. Это реляционная база данных с открытым исходным кодом, которая проста в использовании и поддерживается большинством хостинговых компаний.
1.2 Серверные и клиентские технологии
В настоящее время существует множество клиентских и серверных технологий для построения Web-страниц. Клиентские технологии выполняются в браузере (JavaScript, VBScript, Java-апплеты, DHTML и т.д.), а серверные обрабатывает сервер и возвращает клиенту только HTML-код (Perl, ASP,РНР). Язык РНР не ограничивает вас и позволяет с легкостью использовать клиентские технологии совместно с инструкциями РНР. Но стоит ли их использовать без особой надобности? Я думаю, что нет, и это мы сейчас увидим.
Рассмотрим клиентскую технологию на примере JavaScript. Если вы будете использовать этот код в своих проектах, то нет гарантии, что страница будет отображена в любом Web-браузере. Некоторые не поддерживают эту технологию, а там, где есть поддержка, пользователи иногда отключают JavaScript в целях безопасности. Таким образом, ваша страница может отображаться некорректно, и это вызовет лишние проблемы у посетителей.
Не стоит использовать JavaScript, если он не принесет реальной выгоды.
Намного лучше будет возложить выполнение этих операций на сервер, и тогда ваш сайт будет правильно отображаться в любом браузере.
Клиентские технологии не могут соединяться с базами данных и формировать HTML-код для удобного отображения и восприятия информации. Они, скорее, предназначены для придания сайту привлекательности. Серверные технологии используются для динамического создания страниц и отображения их пользователю. Как мы уже знаем, эта работа невидима для пользователя.
1.3 История развития PHP
PHP прошёл долгий путь за последние несколько лет, становясь одним из наиболее популярных языков web-разработки.
Истоки PHP лежат в старом продукте, имевшем название PHP/FI. PHP/FI был создан Расмусом Лердорфом в 1995 году и представлял собой набор Perl-скриптов для ведения статистики посещений его резюме. Развитие web еще только начиналось, никаких специальных средств для решения этих задач не было, и к автору хлынул поток сообщений с вопросами. Лердорф начал бесплатно раздавать свой инструментарий, названный "Personal Homepages Tools" (PHP) - ("Инструменты для персональных домашних страниц"). Очень скоро потребовалась большая функциональность и Расмус пишет новую, намного более обширную версию на C, работающую с базами данных и позволяющую пользователям разрабатывать простейшие web-приложения. Расмус Лердорф решил выложить исходный код PHP/FI на всеобщее обозрение, исправление ошибок и дополнение.
PHP/FI (Personal Home Page / Forms Interpreter - Персональная Домашняя страница / Интерпретатор Форм) включал в себя базовую функциональность сегодняшнего PHP. Он имел переменные в стиле Perl, автоматическую интерпретацию форм и возможность встраиваться в html-код. Собственно синтаксис языка имел много общего с Perl, хотя и был намного проще и ограниченнее.
В 1997 выходит PHP/FI 2.0. Вторая версия C-имплементации обозначила группу пользователей: несколько тысяч людей по всему миру, с примерно 50,000 доменами, что составляло около 1% всего числа доменов Интернета. Несмотря на то, что разработкой занималось уже несколько людей, PHP/FI 2.0 все еще оставался крупным проектом одного человека.
Официально PHP/FI 2.0 вышел только в ноябре 1997 года, после проведения большей части своей жизни в бета-версиях. Вскоре после выхода его заменили альфа-версии PHP 3.0.
PHP3
PHP 3.0 была первой версией, напоминающей PHP, каким мы знаем его сегодня. В 1997 году Энди Гутманс (Andi Gutmans) и Зив Сураски (Zeev Suraski) переписали код с начала: разработчики сочли PHP/FI 2.0 не пригодным для разработки приложения электронной коммерции, над которым они работали для проекта Университета. Для совместной работы над PHP 3.0 с помощью базы разработчиков PHP/FI 2.0 Энди, Расмус и Зив решили объединиться и объявить PHP 3.0 официальным преемником PHP/FI, разработка же PHP/FI была практически полностью прекращена.
Одной из сильнейших сторон PHP 3.0 была возможность расширения ядра. В последствии интерфейс написания расширений привлек к PHP множество сторонних разработчиков, работающих над своими модулями, что дало PHP возможность работать с огромным количеством баз данных, протоколов, поддерживать большое число API. Фактически, это и был главный ключ к успеху, но стоит добавить, что немаловажным шагом оказалась разработка нового, намного более мощного и полного синтаксиса с поддержкой ООП.
Абсолютно новый язык программирования получил новое имя. Разработчики отказались от дополнения о персональном использовании, которое имелось в аббревиатуре PHP/FI. Язык был назван просто 'PHP' - аббревиатура, содержащая рекурсивный акроним: 'PHP: Hypertext Preprocessor' (PHP: Препроцессор Гипертекста).
Первая статья о PHP была опубликована в чешском варианте 'Computerworld' весной 1998 и освещала PHP 3.0. Как и в случае с книгами, эта была первая в серии статья из множества посвященных PHP и опубликованных в различных известных журналах.
К концу 1998, PHP использовался десятками тысяч пользователей. Сотни тысяч web-сайтов сообщали о том, что они работают с использованием языка. В то время PHP 3.0 был установлен приблизительно на 10% серверах Интернета!
PHP 3.0 был официально выпущен в июне 1998 года после 9 месяцев публичного тестирования.
PHP4
К зиме 1998 года, практически сразу после официального выхода PHP 3.0, Энди Гутманс и Зив Сураски начали переработку ядра PHP. В задачи входило увеличение производительности сложных приложений и улучшение модульности базиса кода PHP. Расширения дали PHP 3.0 возможность успешно работать с набором баз данных и поддерживать большое количество различных API и протоколов, но PHP 3.0 не имел качественной поддержки модулей и приложения работали не эффективно.
Новый движок, названный 'Zend Engine' (от имен создателей: Zeev и Andi), успешно справлялся с поставленными задачами и впервые был представлен в середине 1999 года. PHP 4.0, основанный на этом движке и принесший с собой набор дополнительных функций, официально вышел в мае 2000 года, почти через два года после выхода своего предшественника PHP 3.0. В дополнение к улучшению производительности, PHP 4.0 имел еще несколько ключевых нововведений, таких как поддержка сессий, буферизация вывода, более безопасные способы обработки вводимой пользователем информации и несколько новых языковых конструкций.
Сегодня PHP используется сотнями тысяч разработчиков. Миллионы (!) сайтов сообщают о работе с PHP. Эти, а также многие другие факты, позволяют с уверенностью сказать, что PHP является одним из самых популярных языков web-программирования!
Группа разработчиков PHP состоит из множества людей, работающих над ядром и расширениями PHP, и смежными проектами, такими, как PEAR и документации языка.
PHP5
Недавно вышла новая, пятая версия PHP (PHP5). PHP5 использует новую версию "движка" Zend - Zend Engine 2.
В PHP5 объектная модель была значительно переработана. При этом было добавлено много новых возможностей, благодаря которым PHP5 получил некоторые черты таких объектно-ориентированных языков, как C++ и Java.
Изменения коснулись производительности встроенных стандартных функций PHP. По некоторым оценкам, скорость работы стандартных функций в PHP5 увеличилась на 40% и более.
Появились новые директивы файла настройки php. ini. Претерпела изменения и поддержка потоков. Были добавлены новые функции, а также функции графической библиотеки GD.
Поддержка XML в версии PHP5 стала полной, поддерживаются новые расширения DOM и XML.
2. Разработка программы
2.1 Тематика
Одним из основных требованием к курсовой работе является разработка системы поиска по сайту.
Во всемирной почти все сайты имеют систему поиска (примеры: www.vkontakte.ru - система поиска по этому сайту позволяет найти одного человека из 35 млн.). Система поиска упрощает поиск требуемой информации, тем самым уменьшая время, затрачиваемое на нахождение информации.
Мною был разработан сайт, позволяющий получить начальную информацию о языке PHP. Сайт предоставляет начальные сведения о языке. Система поиска упрощает доступ к информации.
-поиск
-пенель администрирования
Поисковая система
Результаты поиска
Страница с искомой информацией
ничего
Ввод пароля
Индексирование сайта и запись в БД, изменение пароля, просмотр информации о системе
2.2 Схема сайта
Пояснения к схеме сайта:
страницы сайта, поиск, панель администрирования - содержание исходной страницы сайта (попадаем при переходе на начальную страницу);
поисковая система - форма, в которую вводим искомую информацию;
результаты поиска - страница, демонстрирующая результаты поиска, отсюда можем перейти к странице с искомой информацией и в случае "пустого" результата - на начальную страницу;
страница с искомой информацией;
ничего - страница перехода на начальную;
ввод пароля - форма ввода пароля администрирования сайта;
индексирование сайта и запись в БД, изменение пароля, просмотр информации о системе - администрирование сайта.
2.3 Разработка php-скрипта системы поиска
В меню, на начальной странице, присутствует ссылка на страницу поиска.
В страницу поиска встроена форма для поиска:
Он структурирован по следующей схеме: URL страницы содержащаяся информация в странице. Пример: http://www.localhost/term_paper/index.html Язык программирования PHP Язык программирования PHP. Результаты выводятся в форму:
@docs@ Время затраченное на поиск: @time@ сек.
2.4 Блок-схемы файлов
Проверка на ошибки (пустая строка)
Выполнение поиска в файле data.dat
Входные данные
Результат найден или нет
Вывод результата
начало
конец
Не найден
Пустая строка
index. php
начало
Ввод пароля
Пароль верный?
Меню
-Запись в файл data.dat
-смена пароля
-просмотр информации
конец
Выход
нет
admin. php
2.5 Руководство пользователя
Начальная страница. На странице присутствует меню навигации по сайту. Можно попасть на страницы: возможности PHP, преимущества PHP, история развития, первая программа, поиск (задание курсовой работы) и панель администрирования; получить ответ на вопрос "Что такое PHP?". Будет дано определение, расшифровка аббревиатуры "PHP".
"Возможности PHP": узнаем о возможностях языка PHP.
"История развития": любой, изучающий любой язык программирования, должен знать его историю, а такой язык, как PHP не должен оставаться в стороне.
"Первая программа": После изучения преимуществ PHP, истории языка, почему бы не попробовать написать программу? Эта страница поможет вам в этом.
Страница "поиск". Вводим, нажимаем "искать…", получаем результат.
Панель администрирования. Вводим пароль в форму, попадаем на следующую страницу:
Здесь можно осуществить индексацию сайта (перезапись файла data. dat), в случае изменения каких-либо данных или добавления страниц в сайт. Сменить пароль для администратора. Посмотреть Версию установленного PHP интерпретатора. Узнать к какому семейству относится операционная система, установленная на сервере (Windows, Linux, Mac OS и пр.).
Заключение
В ходе проделанной работы был разработан сайт с системой поиска информации по нему. Тематика сайта: введение в PHP. Можно узнать о языке программирования PHP, а именно: его возможностях, истории, получить ответ на вопрос: "Что такое PHP?". На одной из страниц будет продемонстрировано написание первой программы на PHP. Выполнено на пяти страницах.
Разработана система поиска по сайту, с панелью администрирования. Выполнено на двух страницах.
Все требования к работе выполнены.
Список используемой литературы
1.Ульман Л. Основы программирования на PHP: пер. с англ. - М.: ДМК Пресс, 2001. - 288 с.: ил. Самоучитель.
2.Кузнецов М.В., Симдянов И.В., Голышев С.В. РНР 5. Практика разработки Web-сайтов. - СПб.: БХВ-Петербург, 2005. - 960 с: ил.
3.Котеров Д.В., Костарев А.Ф. PHP5. - СПб.: БХВ - Петербург, 2005. - 1120 с.: ил
4.Фленов М.Е. РНР глазами хакера. - СПб.: БХВ-Петербург, 2005. - 304 с: ил.
5.Руководство по PHP. - http://www.php.net/manual/ru/
6.Клуб разработчиков PHP. - http://www.phpclub.ru/
7.PHP FAQ. Сайт с ответами на вопросы. - http://www.phpfaq.ru/
Приложение
Листинг index. php
php
function error ($error,$file) {exit (''. $error. '
['.htmlspecialchars ($file). '] '); }
@set_time_limit (0);
@SetLocale (LC_ALL,"ru_RU. CP1251");
function CheckConf ($conf)
{
while (list ($section,$array) =each ($conf))
while (list ($key,$value) =each ($array))
if (! strlen ($value))
error ("В файле параметров скрипта, а именно в секции ". $section. ", пуст ключ ". $key. "",$conf ['dir'] ['path']. "/inc/config. inc. dat");
}
$term_paper=parse_ini_file (". /inc/config. inc. dat",1) or error ("не могу загрузить основной файл параметров",". /inc/config. inc. dat");
include ($term_paper ['file'] ['functions']);
CheckConf ($term_paper);
while (list ($section,$array) =each ($term_paper))
while (list ($key,$value) =each ($array))
$term_paper ['other'] [chr (73). chr (110). chr (105). ucfirst (strtolower ($section)). ucfirst (strtolower ($key))] =$value;
settype ($FirstTime=term_paper_time (),"integer");
if (isset ($_GET ['query']))
{
$query=$UserQuery=term_paper_stripslashes ($_GET ['query']);
preg_match_all ("/\w+/",$query,$QueryArray);
$TempQuery=array_unique ($QueryArray [0]);
$QueryArray [0] =$term_paper ['result'] =null;
while (list (,$value) =each ($TempQuery))
$QueryArray [0] [] =$value;
$result=array ();
$found=0;
if (! $QueryCount=count ($QueryArray [0]))
{
ParseTemplate ($term_paper ['templates'] ['top']);
if (empty ($query))
$term_paper ['other'] ['error'] =$term_paper ['error'] ['EmptyQuery'];
else
$term_paper ['other'] ['error'] =$term_paper ['error'] ['EmptyQueryAfterStrip'];
ParseTemplate ($term_paper ['templates'] ['error']);
ParseTemplate ($term_paper ['templates'] ['bottom']);
exit;
}
elseif ($QueryCount==1)
$query=$QueryArray [0] [0];
else
{
$query=" (";
for ($i=0; $i<$QueryCount; $i++)
if ($i! =$QueryCount-1)
$query. =$QueryArray [0] [$i]. "|";
else
$query. =$QueryArray [0] [$i];
$query. =")";
}
if (! empty ($query))
{
ParseTemplate ($term_paper ['templates'] ['top']);
$OpenDataFile=fopen ($term_paper ['file'] ['data'],'r');
flock ($OpenDataFile,1);
flock ($OpenDataFile,2);
while (! feof ($OpenDataFile))
if (preg_match ("/". $query. "/i",$string=fgets ($OpenDataFile)))
{
/*
list ($term_paper ['other'] ['link'],$term_paper ['other'] ['document']) =split (" ",$string,2);
$term_paper ['other'] ['document'] =substr ($term_paper ['other'] ['document'],0,$term_paper ['other'] ['MaxChars']);
$term_paper ['other'] ['document'] =trim (preg_replace ("/". $query. "/i","\\0",$term_paper ['other'] ['document'])).". ";
ParseTemplate ($term_paper ['templates'] ['result']);
flush ();
*/
$result [] =$string;
$found++;
}
fclose ($OpenDataFile);
if (! $found)
{
$term_paper ['other'] ['error'] =$term_paper ['error'] ['NoFound'];
ParseTemplate ($term_paper ['templates'] ['error']);
}
else
{
$term_paper ['other'] ['navigation'] =term_paper_array_navigation (
(isset ($result))? $result: null,
(isset ($term_paper ['other'] ['MaxShow']))? $term_paper ['other'] ['MaxShow']: null,
(isset ($term_paper ['other'] ['MaxPages']))? $term_paper ['other'] ['MaxPages']: null,
"? query=". $UserQuery. "&SearchPage=",
(isset ($_GET ['SearchPage']))? $_GET ['SearchPage']: null,
null,
null,
(isset ($term_paper ['color'] ['NotActive']))? $term_paper ['color'] ['NotActive']: null,
null,
(isset ($term_paper ['color'] ['CurrentPage']))? $term_paper ['color'] ['CurrentPage']: null,
null,
null,
" "
);
$term_paper ['strings'] =$term_paper_array_navigation;
while (list ($number,$string) =each ($term_paper ['strings'] ['result_strings']))
{
$term_paper ['other'] ['num'] =$term_paper ['strings'] ['count_all_strings'] - $term_paper ['strings'] ['start_string'] - $number;
list ($term_paper ['other'] ['link'],$term_paper ['other'] ['title'],$term_paper ['other'] ['document']) =split (" ",$string,3);
$term_paper ['other'] ['document'] =substr ($term_paper ['other'] ['document'],0,$term_paper ['other'] ['MaxChars']);
$term_paper ['other'] ['document'] =trim (preg_replace ("/". $query. "/i","\\0",$term_paper ['other'] ['document'])).". ";
ParseTemplate ($term_paper ['templates'] ['result']);
flush ();
}
}
$term_paper ['other'] ['query'] =htmlspecialchars ($UserQuery);
$term_paper ['other'] ['docs'] = (empty ($found))?"ноль": $found;
$term_paper ['other'] ['time'] =round (term_paper_time () - $FirstTime,3);
ParseTemplate ($term_paper ['templates'] ['stat']);
if (! empty ($found))
ParseTemplate ($term_paper ['templates'] ['navigation']);
ParseTemplate ($term_paper ['templates'] ['bottom']);
}
}
else
{
$LoadingBody=null;
$OpenLoadingFile=fopen ($term_paper ['dir'] ['templates']. chr (47). $term_paper ['template'] ['parse']. chr (47). $term_paper ['templates'] ['loading'],'r');
$LoadingBody=fread ($OpenLoadingFile,filesize ($term_paper ['dir'] ['templates']. chr (47). $term_paper ['template'] ['parse']. chr (47). $term_paper ['templates'] ['loading']));
fclose ($OpenLoadingFile);
$term_paper ['other'] ['LoadingHtmlCode'] =addslashes (term_paper_strip_new_line ($LoadingBody));
ParseTemplate ($term_paper ['templates'] ['form']);
}
? >
Листинг admin. php
php
function error ($error,$file) {exit (''. $error. '
['.htmlspecialchars ($file). '] '); }
@set_time_limit (0);
@SetLocale (LC_ALL,"ru_RU. CP1251");
if (isset ($_GET))
while (list ($key,$value) =each ($_GET))
$$key=$value;
header ("Expires: Mon, 26 Jul 1997 05: 00: 00 GMT");
header ("Last-Modified:". gmdate ("D, d M Y H: i: s")." GMT");
header ("Cache-Control: no-store, no-cache, must-revalidate");
header ("Cache-Control: post-check=0, pre-check=0", false);
header ("Pragma: no-cache");
function read_dir ($dir)
{
if ($OpenDir=opendir ($dir))
{
while ( ($file=readdir ($OpenDir))! ==false)
{
if ($file! =". "&&$file! =". ")
{
if (is_dir ($dir. chr (47). $file))
{
if (! is_readable ($dir. chr (47). $file))
error ("нет прав для чтения текущий папки",$dir. chr (47). $file);
elseif (! is_writeable ($dir. chr (47). $file))
error ("нет прав для записи в текущую папку",$dir. chr (47). $file);
else
read_dir ($dir. chr (47). $file);
}
else
{
if (! is_readable ($dir. chr (47). $file))
error ("нет прав для чтения файла",$dir. chr (47). $file);
elseif (! is_writeable ($dir. chr (47). $file))
error ("нет прав для записи в файл",$dir. chr (47). $file);
}
}
}
}
else error ("нет прав",$dir);
}
function CheckConf ($conf)
{
while (list ($section,$array) =each ($conf))
while (list ($key,$value) =each ($array))
if (! strlen ($value))
error ("В файле параметров скрипта, а именно в секции ". $section. ", пуст ключ ". $key. "",$conf ['dir'] ['path']. "/". $conf ['dir'] ['inc']. "/config. inc. dat");
}
if (! is_readable (". /inc")) error ("нет прав для чтения текущий папки",". /inc");
elseif (! is_writeable (". /inc")) error ("нет прав для записи в текущую папку",". /inc");
elseread_dir (". /inc");
$term_paper=parse_ini_file (". /inc/config. inc. dat",1);
CheckConf ($term_paper);
include (". /inc/functions. inc. php");
if (isset ($_SERVER ['QUERY_STRING']) &&$_SERVER ['QUERY_STRING'] =="exit")
{
$_COOKIE=null;
setcookie ($term_paper ['script'] ['prefix']. "password",null);
}
#$term_paper ['sections'] =array (
#10=>"Создание базы (индексация сайта)",
#20=>"Смена пароля",
#);
$term_paper ['sections'] =array (
'Основное меню'=>array (
'10'=>'создание базы (индексация сайта) '
),
'Пароль'=>array (
'20'=>'смена пароля'
),
'Информация'=>array (
'30'=>'версия PHP интерпретатора',
'40'=>'операционная система'
)
);
function CheckPostRequest ()
{
global $term_paper;
if (! count ($_POST)) return 0;
elseif (! isset ($_POST ['password'])) return 0;
elseif (strlen ($_POST ['password']) ==32) return 0;
else
{
setcookie ($term_paper ['script'] ['prefix']. "password",md5 ($_POST ['password']));
$_COOKIE [$term_paper ['script'] ['prefix']. "password"] =md5 ($_POST ['password']);
return 1;
}
}
function CheckAdminPassword ($password)
{
global $term_paper;
$PasswordFile=term_paper_read_file (". /inc/password. inc. dat");
if (! isset ($password)) return 0;
elseif (! isset ($PasswordFile [0])) return 0;
elseif (strlen ($password) ==32&&isset ($_COOKIE [$term_paper ['script'] ['prefix']. "password"]) &&$_COOKIE [$term_paper ['script'] ['prefix']. "password"] ==$PasswordFile [0]) return 1;
elseif ($password==$PasswordFile [0]) return 1;
elsereturn 0;
}
if (CheckPostRequest ()) $term_paper ['access'] =CheckAdminPassword ($_COOKIE [$term_paper ['script'] ['prefix']. "password"]);
else$term_paper ['access'] =CheckAdminPassword ( (! isset ($_COOKIE [$term_paper ['script'] ['prefix']. "password"]))? null: $_COOKIE [$term_paper ['script'] ['prefix']. "password"]);
if (empty ($term_paper ['access']))
{
if (isset ($_POST ['password'])) $term_paper ['status'] ="пароль не опознан, повторите ввод";
$term_paper ['section'] ['name'] ="Вход в управление";
$term_paper ['result'] ='
';
}
else
{
$term_paper ['status'] ="Главное меню";
$term_paper ['result'] = (! isset ($term_paper ['result']))? null: $term_paper ['result'];
$term_paper ['section'] ['name'] ="Выберите нужное Вам действие";
$term_paper ['result']. ="";
$term_paper ['NewSections'] =array ();
#while (list ($a,$b) =each ($term_paper ['sections']))
#$term_paper ['result']. =" ";". $void++. chr (46). chr (32). ucfirst ($b). "
while (list ($a,$b) =each ($term_paper ['sections']))
{
$term_paper ['result']. =" while (list ($key,$value) =each ($b)) { $term_paper ['result']. =" $term_paper ['NewSections'] [$key] =$value; } $term_paper ['result']. =" ";". $a. " ";
}
$term_paper ['result']. ="";
$term_paper ['result']. =" if (empty ($section)) $term_paper ['result']. =" #elseif (! isset ($term_paper ['sections'] [ ($section-1) /2/3/4/5/6/7/8/90])) $term_paper ['result']. =" elseif (! isset ($term_paper ['NewSections'] [ ($section-1) /2/3/4/5/6/7/8/90])) $term_paper ['result']. =" else { #$term_paper ['status']. =" " ". $term_paper ['section'] ['name'] =ucfirst ($term_paper ['sections'] [$case=floor ( ($section-1) /2/3/4/5/6/7/8/90)]). ""; $term_paper ['status']. =" " ". $term_paper ['section'] ['name'] =ucfirst ($term_paper ['NewSections'] [$case=floor ( ($section-1) /2/3/4/5/6/7/8/90)]). ""; $term_paper ['result']. =" switch ($case) { case "10": if (! isset ($_POST ['dir']) ||! isset ($_POST ['url'])) $term_paper ['result']. = ' function StartSubscripting () { OpenSubscriptingWindow=open ("","SubscriptingWindow","toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=no,left=50,top=50,width=700,height=500"); OpenSubscriptingWindow. focus (); OpenSubscriptingWindow. document. open (); OpenSubscriptingWindow. document. write (" OpenSubscriptingWindow. document. close (); } -> '; else { if (! is_dir ($_POST ['dir'])) $term_paper ['result']. =" elseif (! is_readable ($_POST ['dir'])) $term_paper ['result']. =" else { $_POST ['dir'] =preg_replace ("/\\\+/",chr (47),$_POST ['dir']); preg_match_all ("/\w+/",term_paper_stripslashes ($term_paper ['other'] ['NotAllowed']),$NotAllowedArray); $NotAllowedTemp=array_unique ($NotAllowedArray [0]); $NotAllowedArray [0] =null; while (list (,$value) =each ($NotAllowedTemp)) $NotAllowedArray [0] [] =$value; if (! $NotAllowedCount=count ($NotAllowedArray [0])) $NotAllowed=chr (32); else { $NotAllowed=" ("; for ($i=0; $i<$NotAllowedCount; $i++) if ($i! = ($NotAllowedCount-1)) $NotAllowed. =$NotAllowedArray [0] [$i]. "|"; else $NotAllowed. =$NotAllowedArray [0] [$i]; $NotAllowed. =")"; } function DirSubscripting ($dir) { global $term_paper,$OpenData,$NotAllowed; if (is_readable ($dir2=$dir)) { $OpenDir=opendir ($dir); while ( ($file=readdir ($OpenDir))! ==false) { if ($file! =". "&&$file! =". "&&! preg_match ("/". $NotAllowed. "/i",$file)) { if (is_dir ($dir. chr (47). $file)) DirSubscripting ($dir. chr (47). $file); else { $OpenFile=fopen ($dir. chr (47). $file,'r'); $content=fread ($OpenFile,filesize ($dir. chr (47). $file)); preg_match ("! $content=term_paper_strip_new_line (strip_tags ($content)); $content=preg_replace ("/ +/s"," ",$content); preg_match_all ("/\w+/i",$content,$ContentArray); if (! empty ($title [1])) { $title [1] =term_paper_strip_new_line ($title [1]); preg_match_all ("/\w+/i",$title [1],$NewTitle); $title [1] =null; while (list (,$string) =each ($NewTitle [0])) $title [1]. =$string. chr (32); } $dir2=eregi_replace (strtolower ($_POST ['dir']),"",$dir2); $content=null; while (list (,$string) =each ($ContentArray [0])) $content. =$string. chr (32); if (! empty ($content)) fwrite ($OpenData,$_POST ['url']. $dir2. chr (47). $file. chr (32). ( (isset ($title [1]))? str_replace (" "," ",$title [1]): str_replace (" "," ",$term_paper ['other'] ['untitled'])). chr (32). $content. chr (13). chr (10)); fclose ($OpenFile); } } } } } $OpenData=fopen ($term_paper ['file'] ['data'],'w'); DirSubscripting ($_POST ['dir']); fclose ($OpenData); $term_paper ['result']. =" } } break; case "20": if (empty ($_POST)) $term_paper ['result']. =<< ";
";
";
";";
");Идёт индексация сайта, пожалуйста, подождите. Укажите папку, в которой берёт начало Ваш сайт (без / в конце): Укажите URL, который соответствует папке,
которую Вы указали (без / в конце): (скорость индексации зависит от быстроты Вашего компьютера,
обязательно дождитесь окончания индексации)
";
";
";
Будьте внимательны! После изменения пароля старый действовать больше не будет. Для того чтобы не забыть новый пароль, запишите его где-нибудь. В пароль могут входить: русские, латинский буквы и цифры. Учитывается регистр.
HTML;
else
{
if (empty ($_POST ['NewPassword'])) $term_paper ['result']. ="
. вернуться на шаг назад
";
elseif (! eregi ("^ [a-zа-яё0-9] +$",$_POST ['NewPassword'])) $term_paper ['result']. ="
. вернуться на шаг назад
";
else
{
$term_paper ['okay'] =1;
$OpenPasswordFile=fopen (". /inc/password. inc. dat","w");
flock ($OpenPasswordFile,1);
flock ($OpenPasswordFile,2);
fwrite ($OpenPasswordFile,md5 ($_POST ['NewPassword']));
fclose ($OpenPasswordFile);
setcookie ($term_paper ['script'] ['prefix']. "password",md5 ($_POST ['NewPassword']));
$term_paper ['result']. ="
";
}
}
break;
case "30":
$term_paper ['section'] ['name'] ="Версия PHP интерпретатора";
$term_paper ['result']. ="
". ( (php_sapi_name () =="cgi")?"Установлен в качестве CGI": "Установлен в качестве модуля"). "
";
break;
case "40":
$term_paper ['section'] ['name'] ="Операционная система";
list ($os) =split (" ",php_uname (),2);
$term_paper ['result']. ="
";
break;
case "100":
echo "цикл не работает";
}
$term_paper ['result']. ="";
}
}
if (empty ($term_paper ['status'])) $term_paper ['status'] ="вход не выполнен";
? >
if (isset ($term_paper ['okay'])) echo '';? >
a: link{color: #000000; text-decoration: none; }
a: active{color: #000000; text-decoration: none; }
a: visited{color: #000000; text-decoration: none; }
a: hover{color: #de0000; text-decoration: none; }
. name{border: 1px; border-style: solid; height: 16px; border-color: #000000; background-color: #ffe6b7; font-family: verdana; font-size: 10px; color: #de0000; }
#name{border: 1px; border-style: solid; height: 16px; border-color: #000000; background-color: #fef1d8; font-family: verdana; font-size: 10px; color: #de0000; }
. submit{border: 0px; height: 14px; background-color: #ffe6b7; font-family: verdana; font-size: 10px; color: #000000; }
->
=$term_paper ['status']? >
if (! empty ($term_paper ['access']))
{
echo " "; (закрыть сессию)
}
? >
Изображения хранятся в папке "img", скрипты поиска в папке "search".

Нравится материал? Поддержи автора!
Ещё документы из категории информатика:
Чтобы скачать документ, порекомендуйте, пожалуйста, его своим друзьям в любой соц. сети.
После чего кнопка «СКАЧАТЬ» станет доступной!
Кнопочки находятся чуть ниже. Спасибо!
Кнопки:
Скачать документ