Оглавление
Введение
1. О языке PHP
1.1 Что такое РНР?
1.2 Серверные и клиентские технологии
1.3 История развития PHP
2. Разработка программы
2.1 Тематика
2.2 Схема сайта
2.3 Разработка php — скрипта системы поиска
2.4 Блок-схемы файлов
2.5 Руководство пользователя
Заключение
Список используемой литературы
Приложение
Введение
Всемирная паутина удивительна и загадочна. Сталкиваясь с аббревиатурами,обозначающими системы, которые чересчур часто меняются, пользователь может потерятьтерпение.
Одним из примеров нового направления информационных технологийможет служить бурное развитие программ с открытым кодом (OSS — Open Source Software),свободно доступных как для распространения-, так и для модификации всеми желающими.Наиболее известной в этом смысле является операционная система Unix, в частностиядро Linux. Однако, хотя с помощью программ с открытыми исходниками создаются стабильныеи очень полезные продукты, освоить их порой затруднительно. Отсутствие учебниковдля начинающих и удобных описаний не позволяет мощным технологиям стать настолькопопулярными, насколько они того заслуживают. РНР, весьма доступный язык написаниясценариев для Web, представляет собой еще один прекрасный инструмент, который, хотьи обладает уникальными возможностями и легок в использовании, отпугивал многих досегодняшнего дня.
1. О языке PHP1.1 Что такое РНР?
PHP — язык создания сценариев, которыйдавно перерос свое название. Дело в том, что PHP — это аббревиатура от слов PersonalHome 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-скриптасистемы поиска
В меню, на начальной странице, присутствует ссылка на страницупоиска.
В страницу поиска встроена форма для поиска:
Форма выполнена в виде таблицы. Обрабатывается файлом index.php.
Пользователь набирает информацию для поиска, отправит информациюдля поиска кнопкой «искать…», скрипт начинает искать требуемую информациюв заранее подготовленном администратором файле (data. dat).
Он структурирован по следующей схеме:
URL страницысодержащаяся информация в странице.
Пример: www.localhost/term_paper/index.html Язык программирования PHP Язык программированияPHP.
Результаты выводятся в форму:
ПОИСК ОКОНЧЕН
Вы искали: @query@
Найдено документов: @docs@
Время затраченное на поиск: @time@ сек.
2.4 Блок-схемы файлов/> />
index. php
/> />
admin. php2.5 Руководствопользователя
1. Начальная страница. На странице присутствует меню навигации по сайту.Можно попасть на страницы: возможности PHP, преимущества PHP, история развития,первая программа, поиск (задание курсовой работы) и панель администрирования; получитьответ на вопрос «Что такое PHP?». Будет дано определение, расшифровкааббревиатуры «PHP».
/>
2. «Возможности PHP»: узнаем о возможностях языка PHP.
/>
3. «История развития»: любой, изучающий любой язык программирования,должен знать его историю, а такой язык, как PHP не должен оставаться в стороне.
/>
4. «Первая программа»: После изучения преимуществ PHP, истории языка,почему бы не попробовать написать программу? Эта страница поможет вам в этом.
/>
5. Страница «поиск». Вводим, нажимаем «искать…», получаемрезультат.
/>
6. Панель администрирования. Вводим пароль в форму, попадаем на следующую страницу:
/>
Здесь можно осуществить индексацию сайта (перезапись файла 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. — www.php.net/manual/ru/
6. Клуб разработчиков PHP. — www.phpclub.ru/
7. PHP FAQ.Сайт с ответами на вопросы. — www.phpfaq.ru/
Приложение
Листингindex. 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
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
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'].="".$a. "";
while (list ($key,$value)=each ($b))
{
$term_paper ['result'].="". ucfirst ($value)."";
$term_paper ['NewSections'][$key] =$value;
}
$term_paper ['result'].="";
}
$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 ();
}
->
Укажите папку,в которой берёт начало Ваш сайт(без/ в конце):
Укажите URL, который соответствует папке,которую Вы указали (без / в конце):
(скорость индексации зависит от быстроты Вашего компьютера,обязательно дождитесь окончания индексации)
';
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
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 ("! (. *) ! is",$content,$title);
$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'].=
Будьте внимательны! После изменения пароля старый действовать больше не будет.Для того чтобы не забыть новый пароль, запишите его где-нибудь. В пароль могут входить: русские, латинский буквы и цифры. Учитывается регистр.
Новый пароль:
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 интерпретатора — ". phpversion(). "". ( (php_sapi_name ()==«cgi»)?"Установлен в качестве CGI": "Установлен в качестве модуля")."";
break;
case «40»:
$term_paper ['section']['name'] =«Операционная система»;
list ($os) =split(" ",php_uname (),2);
$term_paper ['result'].="Операционная система — ".$os. "";
break;
case «100»:
echo «цикл не работает»;
}
$term_paper ['result'].="";
}
}
if (empty ($term_paper['status'])) $term_paper ['status'] =«вход не выполнен»;
? >
" Управление " ]+>", "",ucfirst ($term_paper ['status']))? >
';? >
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; }
->
if (! empty ($term_paper['access']))
{
echo " (закрыть сессию)";
}
? >
На главную
Изображения хранятся в папке «img»,скрипты поиска в папке «search».