Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Скрипт-обработчик меню





<?php // сначала добьемся однозначности имени запрашиваемого файла

if (@array_key_exists('extension', $path)){// если в массиве есть ключ расширений

@$localpath['dirname']=str_replace('\\','/',$path['dirname']).'/';// замена слешей для совместимости с локальным сервером

@$localpath['basename']=str_replace('\\','/',$path['basename']);

}else{// иначе обращение к каталогу и basename содержит имя каталога

@$localpath['dirname']=str_replace('\\','/',$path['dirname'].'/'.$path['basename'].'/');

@$localpath['basename']='index.html';

}

// если нужно считать что file.php?a=1 и file.php?a=2 - это то же самое, нужно отбросить параметры

if(strpos($localpath['dirname'], "?")!== false){// ecли $localpath['dirname'] содержит параметры

$localpath['dirname']=substr($localpath['dirname'],0,strpos($localpath['dirname'], "?"));

}

while (ereg("//", $localpath['dirname'])) {

$localpath['dirname']=str_replace('//','/',$localpath['dirname']);// если где-то оказалось 2 слеша подряд, заменить на 1

}

 

$menuarray=file($_SERVER['DOCUMENT_ROOT']."/include/menu.txt"); // считаем меню

 

for($i=0; $i < count($menuarray); $i++) {

// перебросим строку в переменные

@list($uroven, $katalog, $namefile, $nazvanie)=explode("|",trim($menuarray[$i]));

if ($namefile=='index.html'){// заменим index.html на пустое имя

$newnamefile='';

}else{

$newnamefile=$namefile;

}

if (eregi('^'.$uroven.'.*$',$localpath['dirname'])!==false){ // если начало пути запрашиваемого файла

// совпадает с минимальным уровнем отображения для пункта меню, пункт будет отображаться

$myarray=explode("/",$uroven);

$counturoven=count($myarray);// счетчик уровней вложенности

if (@$oldcounturoven){// если старое значение счетчика сохранено

if ($oldcounturoven < $counturoven){// если уровень изменился в большую сторону

echo "<ul>\r\n";

}else if ($oldcounturoven > $counturoven){ // если в меньшую (если не изменился, ничего не делаем)

echo "</ul>\r\n";

}

}

$oldcounturoven=$counturoven; // теперь сохраняем старое значение

if ($counturoven > 2){// если уровень превышает второй, делаем список

$nametag='<li>';

}else{// если не превышает, делаем абзац

$nametag='<P>';

}

if ($localpath['dirname'].$localpath['basename']==$katalog.$namefile){// если путь и имя файла в пункте меню совпадают с запрашиваемым,

// отображаем как обычный текст. При этом в стилях определено что, обычный

// текст жирный, а ссылки нет и, в результате, пункт текущей страницы отображается без ссылки и выделен жирным

echo "$nametag$nazvanie\r\n";

}else{ // иначе, как ссылку

echo "$nametag<a href='$katalog$newnamefile'>$nazvanie</a>\r\n";

}

}

}

?>

Сделав основные модули, над которыми придется трудиться движку, можно взяться за сам движок.

Date: 2015-09-02; view: 255; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию