Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Подключение файлов по заданному url

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
jesprider
Отправлено: 04 Января, 2013 - 19:51:45
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




Всем привет.
Помогите пожалуйста справиться с задачей:
необходимо в зависимости от url подключать разные файлы.

С подключением вроде как понятно (в дальнейшем с разделением по слешам, если есть пути второго и более уровня):
PHP:
скопировать код в буфер обмена
  1. if ($_SERVER['REQUEST_URI'] == "/some_page.html") {
  2.       include_once "some_file.php";
  3.     }


Но подключение не происходит,- денвер ругается, что some_page.html не существует.
То есть задача сводится к тому, чтобы добавлять новые страницы, не создавая физически таких файлов.

Спасибо.
 
 Top
esterio
Отправлено: 04 Января, 2013 - 20:02:21
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




Вам нужно ЧПУ?
 
 Top
jesprider
Отправлено: 04 Января, 2013 - 20:11:09
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




esterio
Не совсем.
Я иду с другой стороны - изначально хочу писать свои урлы, а на пхп уже говорить: если урл такой, то сделать то-то (в данном случае подключить файл).
 
 Top
esterio
Отправлено: 04 Января, 2013 - 20:17:23
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




а что видает file_exists
 
 Top
jesprider
Отправлено: 04 Января, 2013 - 20:24:58
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




esterio пишет:
а что видает file_exists

false - файла то нету
 
 Top
esterio
Отправлено: 04 Января, 2013 - 20:25:32
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




а полний путь пробовали указивать
 
 Top
jesprider
Отправлено: 04 Января, 2013 - 20:29:21
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




esterio пишет:
а полний путь пробовали указивать

Да, пробовал. А что должно измениться?
 
 Top
Muxa
Отправлено: 04 Января, 2013 - 20:31:53
Post Id



Частый гость


Покинул форум
Сообщений всего: 247
Дата рег-ции: Март 2012  
Откуда: Россия, Тверь


Помог: 5 раз(а)




пропишите в том файле
запустите и посмотрите какой путь к нему, а потом уже подставляйте нужный в первый скрипт
 
 Top
jesprider
Отправлено: 04 Января, 2013 - 21:05:01
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




Muxa пишет:
пропишите в том файле echo dirname(__FILE__); запустите и посмотрите какой путь к нему, а потом уже подставляйте нужный в первый скрипт


Чтобы понять друг друга, ситуация такова:
в файле index.php я буду разруливать подключение разных файлов по урлам вот так:
PHP:
скопировать код в буфер обмена
  1. if ($_SERVER['REQUEST_URI'] == "/some_page.html" || $_SERVER['REQUEST_URI'] == "/some_another_page.html") {
  2.       include_once "some_file.php";
  3.     }

Файлов some_page.html и some_another_page.html не существует. В файле some_file.php я опять таки в зависимости от этого урла вывожу нужный мне контент.
Так вот dirname(__FILE__); соответственно выдаёт мне путь к корневому каталогу www (denwer).
 
 Top
Muxa
Отправлено: 04 Января, 2013 - 21:32:16
Post Id



Частый гость


Покинул форум
Сообщений всего: 247
Дата рег-ции: Март 2012  
Откуда: Россия, Тверь


Помог: 5 раз(а)




я не понимаю, в чем проблема. Вы что-то мутите для меня непонятное.. Естественно, если этого файла нет, то среда вам об этом радостно сообщит.. что не так? Однако
(Добавление)
раз вы хотите на каждый урл свой файл - то зачем тогда мучаться, сделайте так:
CODE (htmlphp):
скопировать код в буфер обмена
  1. RewriteEngine On
  2.  
  3. RewriteCond %{REQUEST_FILENAME} !-d
  4. RewriteCond %{REQUEST_FILENAME} !-f
  5.  
  6. RewriteRule . index.php


PHP:
скопировать код в буфер обмена
  1. $route = explode( '/', trim($_SERVER['REQUEST_URI'], '/') );
  2.  
  3. function err404() {
  4.   header('HTTP/1.1 404 Not Found');
  5.   exit('Error 404: Page Not Found');
  6. }
  7.  
  8. if(isset($route[1])) {
  9.   if(file_exists($route[1] . '.php'))
  10.     require $route[1] . '.php';
  11.   else
  12.     err404();
  13. }
  14. else {
  15. //главная страница..
  16. }

и просто сохраняйте страницы с тем же именем что и ссылки, только в конце добавляйте еще .php в конец файла..
 
 Top
jesprider
Отправлено: 05 Января, 2013 - 18:08:20
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




Muxa пишет:
раз вы хотите на каждый урл свой файл - то зачем тогда мучаться, сделайте так:

Вот как раз я и не хочу на каждый урл свой файл. Нужно, чтобы в одном файле создавались нужные мне урлы.
 
 Top
esterio
Отправлено: 05 Января, 2013 - 19:45:27
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




jesprider пишет:
айлов some_page.html и some_another_page.html не существует. В файле some_file.php я опять таки в зависимости от этого урла вывожу нужный мне контент.
Так вот dirname(__FILE__); соответственно выдаёт мне путь к корневому каталогу www (denwer).

Да как запуститься файл some_file.php если Вы запрашиваете some_page.html. Если так хотите то используйте mod_rewrite что Вам и написали
 
 Top
jesprider
Отправлено: 07 Января, 2013 - 15:25:04
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




Всем спасибо! )
Немного не с той стороны подходил к задаче.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB