Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> $_SERVER["REQUEST_URI"], Получить путь... 
:(
    Опции темы
alexey___
Дата 16.11.2007, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 12.3.2007
Где: Казахстан

Репутация: 1
Всего: 1



Здравствуйте!

структура сайта моего примерно следующая

main/
    - news/
        - 2007/
             - 11/11.txt
             - 11/12.txt
    - contact/
        - index.txt
    - index.txt

так вот
чтобы получить текст из файла /main/index.txt я создаю ссылку /main/ 

Код

    $REQUEST_URI = $_SERVER["REQUEST_URI"];


и перменная $REQUEST_URI = /main/
т .е если в конце адреса есть символ "/ ", то к строке автоматически доавляется index.txt и считывается от туда информация
это работает!


если мне нужно обратиться к файлу, то я делаю следующую ссылку:
/main/news/2007/11/11

вот здесь эта штука
Код

    $REQUEST_URI = $_SERVER["REQUEST_URI"];

перестаёт работать

вопрос такой: - как мне получить значение ссылки, т.е. когда я нажимаю на какой либо пункт меню, как мне получить от туда значение (строку адрес)

 

PM MAIL   Вверх
ShurikA
Дата 16.11.2007, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



Цитата(alexey___ @  16.11.2007,  08:27 Найти цитируемый пост)
вот здесь эта штука
Выделить всёкод PHP
1:
    
    $REQUEST_URI = $_SERVER["REQUEST_URI"];

перестаёт работать

а что значит не работает, что она выдаёт?
По идее ей всё равно.



--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
alexey___
Дата 16.11.2007, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 12.3.2007
Где: Казахстан

Репутация: 1
Всего: 1



Пишет "невозможно найти страницу" в Explorer.


"Not Found

The requested URL /main/2007/11/11 was not found on this server.
Apache/2.0.55 (Win32) PHP/5.2.1 Server at localhost Port 80" в опере.
PM MAIL   Вверх
ShurikA
Дата 16.11.2007, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



Цитата(alexey___ @  16.11.2007,  08:54 Найти цитируемый пост)
Пишет "невозможно найти страницу" в Explorer.


"Not Found

Ничего не понял.
покажи код того что ты делаешь.


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
alexey___
Дата 16.11.2007, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 12.3.2007
Где: Казахстан

Репутация: 1
Всего: 1



вот код, который формирует наполнение сайта

Код

  $REQUEST_URI = $_SERVER["REQUEST_URI"]; 
  $file=ereg_replace('/$','/index.html',$REQUEST_URI);
  $file=str_replace('.html','',$file);

  $m=explode('/',$file);  // Разбиваем путь по папкам
  $file=ereg_replace('^/','',$file);


  if ($text=@file($file.'.txt')) { $dt=filemtime($file.'.txt'); }
  elseif (file_exists($m[1].'.php')) { require($m[1].'.php'); }
  else die('Error 404: Page not found');
  Header('http/1.0: 200 Ok');

  // Загрузка шаблонов и меню
  $page=implode(file('page.html'),'');
  $m0='.';
  foreach ($m as $m1)
    $submenu=str_replace("\n",' &bull; ',@implode(@file(($m0.=$m1.'/').'menu.txt'),'')).'<br>'.$submenu;
  $menu=str_replace("\n",' &bull; ',@implode(@file('menu.txt'),''));
  // Семантический разбор текстового файла
  $title=$text[0];
  $text[0]='';
  $text=implode($text,'');
  $text=str_replace(array("\r\n\r\n",'<a-'),array('<p>','<a href='),$text);  // Внутренние ссылки
  $text=ereg_replace('<i-([^ >]*)([^>]*)>','<a href=\1 target=_blank><img align=left width=250 src=\1 \2></a>',$text);
  while (ereg('(\@([^\.]+\.php)(/[^/]+/)*)',$text1[$itext],$php))
    {
    $param=str_replace('/','',$php[3]);
    include($php[2]);
    $text=str_replace($php[1],$replace,$text);
    };
  $html=str_replace(array('{title}','{menu}','{submenu}','{text}'),array($title,$menu,$submenu,$text),$page);
  echo($html);


на Apache 1.3 работает всё абсолютно, а на Apache 2 возникает эта ошибка

если я вместо этого
Код

 $REQUEST_URI = $_SERVER["REQUEST_URI"];


напишу

Код

 $REQUEST_URI = '/main/news/2007/11/11';


то всё работает
PM MAIL   Вверх
ShurikA
Дата 16.11.2007, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



попробуй в начале фаила добавить.
Код

echo $_SERVER["REQUEST_URI"];


и поймёшь почему smile

я так понимаю что этот фаил это что то типа index.php который находится вот тут: http://твойсайт.com/index.php
и только там. 
соответственно, если ты пытаешься обратиться к нему так: http://твойсайт.com/main/news/2007/11/11/index.php
(а когда ты пишешь в адресной строке http://твойсайт.com/main/news/2007/11/11 именно это и происходит)

то апачи там его не находит, так как его там нет. 
Попробыьуй пересмотреть свой способ. Может тебе лучше капнуть в сторону: mod_rewrite.

Добавлено через 2 минуты и 8 секунд
В противном случае тебе придётся поместить этот index.php в каждую дерикторию тбоего сайт, а это не есть хорошо.


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
alexey___
Дата 16.11.2007, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 12.3.2007
Где: Казахстан

Репутация: 1
Всего: 1



спаибо!

пока буду для каждой новсти создавать папку (день выхода новости) и в папке создавать Index.txt
т.е. вместо /main/news/2007/11/11
буду делать /main/news/2007/11/11/

по крайней мере это работает пока  smile
PM MAIL   Вверх
ShurikA
Дата 16.11.2007, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



Цитата(alexey___ @  16.11.2007,  11:13 Найти цитируемый пост)
и в папке создавать Index.txt

А почему Index.txt ане Index.рнр?


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
alexey___
Дата 16.11.2007, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 12.3.2007
Где: Казахстан

Репутация: 1
Всего: 1



вообще не важно какое разрешение.
с файла берётся текст с разметкой

а название файла index - просто назвал так главные файлы по умолчанию
PM MAIL   Вверх
ShurikA
Дата 16.11.2007, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



Да, но отрабатывается Index.рнр... его ты должен в каждую дерикторию пихать.


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
alexey___
Дата 16.11.2007, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 12.3.2007
Где: Казахстан

Репутация: 1
Всего: 1



нет, у меня в главной директории лежит файл default.php - он всё и крутит

а в .htaccess
написано следующие

DirectoryIndex /default.php
php_value max_execution_time 3600
php_value max_input_time 3600

Прошу прощения, если я не полную информацию дал
PM MAIL   Вверх
ShurikA
Дата 16.11.2007, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



Цитата(alexey___ @  16.11.2007,  11:51 Найти цитируемый пост)

Прошу прощения, если я не полную информацию дал 

Не страшно smile
Удачи.


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0594 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.