Здраствуйте, такой вопрос. Мне надо записывать кеш файлы в папку которая лежит в корне сайта. Так вот как прописать жту корневую папку так чтоб, куда бы я не перенес скрипт он писал все время в эту папку? Как единственный вариант я решил сделать так $_SERVER['DOCUMENT_ROOT'].'/cache/ Так правельно? И вопрос номер два, я на денвери пишу, а норм сервер еще в глаза не видел. Но знаю что есть в PHP настройка которая запрещает инклюдить файлы по URL, а только по абсолютному пути. Так вот ОБЫЧНО(то есть из вашего личного опыта) как на серваках прописана эта настройка?
Не абсолютные, а относительные. ini_set('include_path', PATH). В вашем случае пропишите вместо $_SERVER['DOCUMENT_ROOT'].'/cache/' следующее: define('CACHE', dirname(__FILE__).'/cache/');
А чем такой вариант лучше? Мне надо жестко прописать одну папку, вот и использую абсолютный путь... Я хочу узнать преимущества и недостатки.
Вот структура вашего сайта (просто допустим) Код (Text): root |__cache | |__. | |__index.php Полный путь (с использованием DOCUMENT_ROOT будет .\root\cache Если вы, например, положите скрипт в папку myscript, то представим другую структуру: Код (Text): root |__myscript | |__cache | | |__. | | | |__index.php |__. Скрипт будет всё равно подключаться по адресу .\root\cache, но НЕ .\root\myscript\cache Поэтому ВСЕГДА следует использовать относительный путь - dirname(__FILE__) Хотя дело ваше, если специально для себя пишете и ставите в корневую директорию
Спасибо, понятно. Вот я только не понял что прописать в ini_set('include_path', PATH). Что писать в качестве PATH?
zzzVolkzzz, include_path полезен в случаях установки постоянной директории для сеанса. Указываете путь по-дефолту и всё. Константа PATH - это и есть dirname(__FILE__);