|
| |
|
|
| |
для: Ziq
(30.10.2005 в 19:18)
| | | хм.. .в принципе вариант, только вот не могу себе представить его полную реализацию... | |
| |
|
|
| |
|
|
| |
для: 10100100
(30.10.2005 в 10:11)
| | | Извините, ошибочка вышла. Скрипт *.txt через include выполняться будет.
А что мешает сделать массив
<?
$ar['news'] = "index.txt";
$ar['about'] = "about\index.txt";
$ar['aboutleha'] = "about\leha.txt";
...
?>
|
Это все можно в отдельный файл.
А проверку можно сделать так
<?
$a = $_GET['a'];
if (!empty($ar[$a]))
{
include($ar[$a]);
}
else
{
if (isset($a)) $a_error['404'] = "Вы нажали на нерабочую ссылку. Такой страницы нет.";
include("begin.php");
}
?>
|
Ну и там на страничке где-нибудь красиво вывести переменную $a_error['404']:
А адрес будет выглядеть что-то вроде
http://sait.ru/index.php?a=news | |
| |
|
|
| |
|
|
| |
для: Ziq
(30.10.2005 в 08:59)
| | | ну да, это вполне логично, ну допустим все файлы будут с расширением php. я на каком то форуме помоему на питерском по php видел код реализации этой фичи... | |
| |
|
|
| |
|
|
| |
для: Евгений Петров
(30.10.2005 в 00:28)
| | | Ничего подобного, даже если в в файл txt записать скрипт он не будет выполняться. Так как по настройкам Apache выполняются только файлы с расширением .php, .php3...
P.S. Сорри не на тот пост ответил. | |
| |
|
|
| |
|
|
| |
для: Sfinks
(30.10.2005 в 00:19)
| | | Ага можно. Только зачем? Зачем искать самые легкие пути. Да с БД легче работать (хотя тоже вопрос спорный). Лучше уж тогда в файл какой нибудь записать, быстрее на порядок будет. Но все равно использовать файлы или БД нерационально т.к. на их открытие и считывание из них данных нужно время, а доступ к постоянной ("медленной") памяти осуществляется дольше чем к временной (т.е. оперативной). Поэтому я все же предлагаю оформить это все в виде отдельного php документа и подгружать в скрипте. | |
| |
|
|
| |
|
|
| |
для: Евгений Петров
(29.10.2005 в 23:57)
| | | Ну можно тоже самое забить в БД и не париться. | |
| |
|
|
| |
|
|
| |
для: Sfinks
(29.10.2005 в 23:55)
| | | От этого размер кода не уменьшится а наоборот увеличится. | |
| |
|
|
| |
|
|
| |
для: 10100100
(29.10.2005 в 15:48)
| | | Если я правильно понял, что нужно сделать, то можно поступить так....
Все возможные варианты $_GET['main'] загнать в массив, создать второй массив, каждый элемент которого соответствует конкретному варианту $_GET['main'] и сохранить это в отдельный файл, например hrefs.php, таким образом:
<?php
$main_name = array(
'news',
'about',
'foto',
'wall',
'music',
'texts',
'links',
);
$main_url = array(
"index.txt",
"about/index.php",
"foto/index.txt",
"wallpaper/index.txt",
"music/index.txt",
"texts/index.txt",
"links/index.txt",
);
?>
|
Тогда в основной файл, достаточно будет вставить:
<?php
include "hrefs.php";
$key = array_search($_GET['main'],$main_name);
include $main_url[$key];
?>
|
| |
| |
|
|
| |
|
|
| |
для: Gerom
(29.10.2005 в 21:54)
| | | Да нет так не получится, т.к. насколько я понял в этих файлах тоже php код. Я лишь посоветую использовать case но файл с case запихать в отдельный файл чтоб он глаза не мозолил и подгружать его при помощи include | |
| |
|
|
| |
|
|
| |
для: Евгений Петров
(29.10.2005 в 21:40)
| | | Тогда надобно обработать адрес каждого файла функциями php (htmlspecialchars, stripslashes) или, что проще, сделать выборку на совпадение с регулярным выражением (preg_match) тех символов, которые допустимы. | |
| |
|
|
|