Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как приинклудить файл если на сам файл который инклидит есть инклуд.
 
 автор: pavluxa09   (01.01.2010 в 09:46)   письмо автору
 
 

Здравствуйте. Есть такая ситуация.
СОДЕРЖИМОЕ ПЕРВОГО ФАЙЛА (index.php): <?php include("file2.php"); ?>
СОДЕРЖИМОЕ ВТОРОГО ФАЙЛА (file2.php ): <?php include("file3.php"); ?>
ЕСЛИ ПЕРВЫЙ ФАЙЛ ПЕРЕНЕСТИ В ДРУГУЮ ДИРЕАКТОРИЮ и в инклуде сделать ../file2.php то в втором файле не может приинклудится. Как сделать чтоб в любом случае во втором файле инклуд работал не зависимо от того от куда инклудят сам файл?

  Ответить  
 
 автор: Николай2357   (01.01.2010 в 09:52)   письмо автору
 
   для: pavluxa09   (01.01.2010 в 09:46)
 

указать абсолютный путь.

  Ответить  
 
 автор: cheops   (01.01.2010 в 12:06)   письмо автору
 
   для: pavluxa09   (01.01.2010 в 09:46)
 

Или как вариант перед включением при помощи include() осуществлять поиск файла по диску, перебирая наиболее вероятные варианты его размещения (однако, лучше этим не увлекаться и действительно ввести префикс для указания абсолютного пути к файлу).

  Ответить  
 
 автор: pavluxa09   (08.01.2010 в 19:45)   письмо автору
 
   для: cheops   (01.01.2010 в 12:06)
 

Как получить абсолютный путь к главной деректории аккаунта?

  Ответить  
 
 автор: Trianon   (08.01.2010 в 19:49)   письмо автору
 
   для: cheops   (01.01.2010 в 12:06)
 

>Или как вариант перед включением при помощи include() осуществлять поиск файла по диску,
>перебирая наиболее вероятные варианты его размещения (однако, лучше этим не увлекаться и действительно ввести префикс для указания абсолютного пути к файлу).

[выделено мной (T.) ]

Вам приходилось на практике применять такой подход?

  Ответить  
 
 автор: pavluxa09   (08.01.2010 в 19:51)   письмо автору
 
   для: Trianon   (08.01.2010 в 19:49)
 

нет. Я хочу ввести прификс абсолютного пути. Тоесть создать константу которая содержит абсолютный путь к главной директории

  Ответить  
 
 автор: Trianon   (08.01.2010 в 20:01)   письмо автору
 
   для: pavluxa09   (08.01.2010 в 19:51)
 

Это был вопрос cheops'у , извините уж.

Вам - вот:
Чем Вас $_SERVER['DOCUMENT_ROOT'] не устраивает?

  Ответить  
 
 автор: Николай2357   (08.01.2010 в 21:37)   письмо автору
 
   для: Trianon   (08.01.2010 в 20:01)
 

Пользуясь случаем, хочу спросить. Стоит приводить в соответствие сепараторы? Вроде как для PHP разницы нет, но может есть какой то подводный камень?

  Ответить  
 
 автор: pavluxa09   (08.01.2010 в 22:54)   письмо автору
 
   для: Николай2357   (08.01.2010 в 21:37)
 

Не нравится тем что не пашет в WINDOWS include даёт ошибку типа файл не найден

  Ответить  
 
 автор: Trianon   (09.01.2010 в 02:25)   письмо автору
 
   для: Николай2357   (08.01.2010 в 21:37)
 

В смысле - directory separators - слэши?
По-моему, их имеет смысл везде использовать а ля /unix/style/... в т.ч. и в настройках самого php

  Ответить  
 
 автор: Николай2357   (09.01.2010 в 06:33)   письмо автору
 
   для: Trianon   (09.01.2010 в 02:25)
 

Понятно что желательно так. Я немного не про это.
Вот допустим конструкция
<?
$path 
$_SERVER['DOCUMENT_ROOT'] .'/folder/file.php';
на разных платформах выдает разный результат (ну слэши имею ввиду). Если это паблик-продукт, то стоит делать так:
<?
$path 
str_replace('\\''/'$_SERVER['DOCUMENT_ROOT']). '/folder/file.php';
?
Ведь по большому счету работать будет и с разными слэшами, для php на сколько я знаю, это не критично. Однако с разными как то неуютно. С другой стороны лишних движений не хочется. Под юниксом это же холостая функция.
Вот и мучаюсь - плюнуть или все таки приводить к одному стилю...

  Ответить  
 
 автор: pavluxa09   (09.01.2010 в 08:50)   письмо автору
 
   для: Николай2357   (09.01.2010 в 06:33)
 

Ошибко Warning: include(T:/home/demonchange/www/kernel/config.ker.php) [function.include]: failed to open stream: No such file or directory in T:\home\demonchange\www\engine\setup.php on line 10

  Ответить  
 
 автор: sim5   (09.01.2010 в 08:57)   письмо автору
 
   для: pavluxa09   (09.01.2010 в 08:50)
 

Денвер, работающий на win платформе, однако никаких "Ошибко" не выдает, следовательно - настраивайте свой сервер.

  Ответить  
 
 автор: Николай2357   (09.01.2010 в 09:00)   письмо автору
 
   для: pavluxa09   (09.01.2010 в 08:50)
 

А где лежит config.ker.php? В директории kernel?

  Ответить  
 
 автор: ride   (09.01.2010 в 10:07)   письмо автору
 
   для: Николай2357   (09.01.2010 в 06:33)
 

используйте /
только в функции set_include_path надо использовать PATH_SEPARATOR

  Ответить  
 
 автор: pavluxa09   (09.01.2010 в 10:45)   письмо автору
 
   для: ride   (09.01.2010 в 10:07)
 

всё допёрло. Спасибо

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования