Я хочу найти, что метод включает некоторые файлы на основе текущего пути к файлу.. например:
У меня есть "website.com/templates/name1/index.php", это "index.php должно быть уникальным файлом, который я буду использовать во многих различных каталогах на различных глубинах, таким образом, я захочу сделать код универсальным, таким образом, я ничего не должен изменять в этом файле..
Таким образом, если этот "index.php" расположен в
"website.com/templates/name1/index.php"
чем он должен включать файл, расположенный здесь:
"website.com/content/templates/name1/content.php"
другой пример:
"website.com/templates/name2/index.php"
чем он должен включать файл, расположенный здесь:
"website.com/content/templates/name2/content.php"
Также я хочу превысить "Предупреждение: include_once () [function.include-после-того-как]: обертка http:// отключена в конфигурации сервера allow_url_include=0" вид ошибки.. потому что отключен и небезопасен..
Существует ли способ достигнуть этого?Спасибо!
I думаю, вам нужно использовать константы __ FILE __ (у него есть два символа подчеркивания в начале и в конце имени) и константы DIRECTORY_SEPARATOR для работы с файлами на основе текущего пути к файлу.
Например:
<?php
// in this var you will get the absolute file path of the current file
$current_file_path = dirname(__FILE__);
// with the next line we will include the 'somefile.php'
// which based in the upper directory to the current path
include(dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'somefile.php');
Использование константы DIRECTORY_SEPARATOR более безопасно, чем использование символов "/" (или "\" ), потому что Windows и * Разделители каталогов nix различны, и ваш интерпретатор будет использовать правильное значение на разных платформах.
Я бы сделал что-то простое, как:
$dir = str_replace('website.com/','website.com/content/',__DIR__);
include "$dir/content.php";
И ваша проблема с HTTP оберткой, кажется, не имеет ничего общего с этим. Что вы имеете в виду под превышением? Обычно вы никогда не хотите делать удаленное включение.