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

Форум PHP

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

 

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

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

тема: Вызов include из любой директории
 
 автор: Владимир55   (04.12.2006 в 18:40)   письмо автору
 
 

Можно ли сделать так, чтобы файл, находящийся в любой директории или поддиректории, оператором include вызывал нужный файл, находящийся в корне? То есть в автоматическом режиме устанавливаем во все файлы сайта, разбросанные по всем директориям и на разную глубину, вставку типа

<?php
include "kod.php" ;
?>

и теперь в какой бы директории ни оказался файл с этой вставкой, он вызовет файл kod.php из корня сайта. Возможно такое?

   
 
 автор: malish   (04.12.2006 в 19:00)   письмо автору
 
   для: Владимир55   (04.12.2006 в 18:40)
 


include($_SERVER['DOCUMENT_ROOT']."kod.php");

   
 
 автор: Владимир55   (05.12.2006 в 13:12)   письмо автору
 
   для: malish   (04.12.2006 в 19:00)
 

Эта конструкция не работает. В том смысле, что файл kod.php не вызывается, даже если сам вызывающий файл находится в корневой директории. Может быть причина в версии рнр? У меня установлена версия 4.4.

   
 
 автор: SONEKS   (05.12.2006 в 13:44)   письмо автору
 
   для: Владимир55   (05.12.2006 в 13:12)
 

Можно писать корневую директорию на хостинге. Например так /home/site/public_html/kod.php

   
 
 автор: AlexSol   (05.12.2006 в 13:54)   письмо автору
 
   для: SONEKS   (05.12.2006 в 13:44)
 

а может проще include "http://www.sait.ru/kod.php" ; ?

   
 
 автор: Владимир55   (05.12.2006 в 14:06)   письмо автору
 
   для: AlexSol   (05.12.2006 в 13:54)
 

Вот эта конструкция

include($_SERVER['DOCUMENT_ROOT']."/home/site/public_html/kod.php");

так и не пошла. Почему-то жаль... Хотелось обойтись внутренним include.



А эта

include "http://www.sait.ru/kod.php"

работает:

   
 
 автор: Unkind   (05.12.2006 в 14:36)   письмо автору
 
   для: Владимир55   (05.12.2006 в 14:06)
 

include($_SERVER['DOCUMENT_ROOT']."/home/site/public_html/kod.php"); - а вы сделайте


<?php
echo($_SERVER['DOCUMENT_ROOT']);
?>

А потом посмотрите, что у Вас получается...:)

   
 
 автор: Loki   (05.12.2006 в 14:34)   письмо автору
 
   для: AlexSol   (05.12.2006 в 13:54)
 

Ну зачем же ерунду советовать?
В этом случае подключится не скрипт, а результат его работы...

   
 
 автор: Владимир55   (05.12.2006 в 14:45)   письмо автору
 
   для: Loki   (05.12.2006 в 14:34)
 

Так что, этот вариант
include "http://www.sait.ru/kod.php"

не годится?

   
 
 автор: SONEKS   (05.12.2006 в 14:47)   письмо автору
 
   для: Владимир55   (05.12.2006 в 13:12)
 

Но с этим бывают проблемы. Если хост сменит допустим корневую директорию на /home2/site/public_html/kod.php то везде будет просто выдаваться ошибка.

   
 
 автор: Soneks   (05.12.2006 в 14:50)   письмо автору
 
   для: Владимир55   (04.12.2006 в 18:40)
 

include "http..."; может не работать на некоторых серверах. Если Хостинг хороший то проблем не будет :о)

   
 
 автор: Soneks   (05.12.2006 в 14:51)   письмо автору
 
   для: Владимир55   (04.12.2006 в 18:40)
 

а точный адрес именно ВАШЕЙ корневой директории вы лучше узнайте в панели на хостинге или спросите в службе поддержки... того же Хостинга.

   
 
 автор: Владимир55   (05.12.2006 в 15:20)   письмо автору
 
   для: Soneks   (05.12.2006 в 14:51)
 

И вот так тоже работает:

include "/home/site/public_html/kod.php";

А как лучше - как написано выше, или

include "site.ru/kod.php";

Работают оба, что лучше, что правильнее?

   
 
 автор: NickCo   (05.12.2006 в 16:44)   письмо автору
 
   для: Владимир55   (05.12.2006 в 15:20)
 

А смотря что вам надо, если нужно только вставить результат работы скрипта, то и http://... подойдет, а, если нужно вставить кусок кода, то нужно прописывать путь к корню. Но на мой взгляд путь к корню предпочтительнее, особенно, если его в отдельной переменной файла конфигурации хранить.

   
 
 автор: Владимир55   (05.12.2006 в 16:53)   письмо автору
 
   для: NickCo   (05.12.2006 в 16:44)
 

Я тоже предпочел путь к корню. Как-то душе теплее - все внутри...

Спасибо!

   
Rambler's Top100
вверх

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