[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: file_get_contents
NierRa
header("HTTP/1.1 404 Not Found");        
exit(file_get_contents('./404.html'));


Хочу заменить './404.html' на константу. Варианты:

define('ROOT_SITE', 'Путь к корню сайта')


exit(file_get_contents(ROOT_SITE.'/404.html'));

exit(file_get_contents('ROOT_SITE'.'/404.html'));


не работают.

Warning: file_get_contents(ROOT_SITE/404.html) [function.file-get-contents]: failed to open stream: No such file or directory in 


Подскажите верный синтакс



Спустя 6 минут (30.07.2012 - 15:23) inpost написал(а):
Да. ругается на вторую строчку с exit, потому что нет такой папки как ROOT_SITE/404.html

Спустя 4 минуты, 32 секунды (30.07.2012 - 15:27) NierRa написал(а):
Я это понял.
header("HTTP/1.1 404 Not Found");        
exit(file_get_contents('./404.html'));

Работает.

Вопрос в том, как в функцию file_get_contents вставить константу. Подскажите синтакс пожалуйста

Спустя 1 час, 33 минуты, 59 секунд (30.07.2012 - 17:01) kamanch написал(а):
exit(file_get_contents(ROOT_SITE.'/404.html'));

Вот на это какая ошибка?
Должно по идее работать.
У меня
define('ROOT_SITE', 'foo');
exit(file_get_contents(ROOT_SITE.'/404.html'));


На выходе
Warning: file_get_contents(foo/404.html) [function.file-get-contents]: failed to open stream: No such file or directory in ...

Т.е. file_get_contents() верно считал значение константы.

Спустя 22 минуты, 18 секунд (30.07.2012 - 17:23) NierRa написал(а):
Цитата
Вот на это какая ошибка?


exit(file_get_contents(ROOT_SITE.'/404.html'))


Warning: file_get_contents(ROOT_SITE/404.html) [function.file-get-contents]: failed to open stream: No such file or directory in

Спустя 17 минут, 26 секунд (30.07.2012 - 17:41) Winston написал(а):
Цитата (NierRa @ 30.07.2012 - 18:23)
failed to open stream: No such file or directory in

Как это переводится?

Спустя 5 минут, 58 секунд (30.07.2012 - 17:47) killer8080 написал(а):
Цитата (NierRa @ 30.07.2012 - 16:17)
header("HTTP/1.1 404 Not Found");
exit(file_get_contents('./404.html'));


Вместо HTTP/1.1 лучше пиши HTTP/1.0, как то уже наступал на эти грабли smile.gif

Спустя 1 минута, 54 секунды (30.07.2012 - 17:49) kamanch написал(а):
Winston
Да понятно, как оно переводится всем.
Ты в ошибку глянь.
У него значение константы не подставляется.
Либо он ее определил как
define('ROOT_SITE', 'ROOT_SITE');

Спустя 2 минуты, 21 секунда (30.07.2012 - 17:51) killer8080 написал(а):
kamanch
сделай
echo ROOT_SITE;


и посмотри что выводит

Спустя 24 минуты, 5 секунд (30.07.2012 - 18:15) kamanch написал(а):
killer8080
Это мне? smile.gif

Спустя 2 минуты, 9 секунд (30.07.2012 - 18:17) killer8080 написал(а):
kamanch
сорри, попутал кто ТС rolleyes.gif

Спустя 4 минуты, 14 секунд (30.07.2012 - 18:21) NierRa написал(а):
ROOT_SITE верно выводится. У меня все пути прописаны через эту константу.

define('ROOT_SITE', dirname(__FILE__));


Определена в index.php
Абсолютно во всех других случаях эта константа верно подставляет значение

echo ROOT_SITE

Выводится
Z:\home\мой_сайт\www

Спустя 2 минуты, 50 секунд (30.07.2012 - 18:24) killer8080 написал(а):
exit(file_get_contents(ROOT_SITE.'/404.html'));

какие ошибки выводит?

Спустя 1 минута, 28 секунд (30.07.2012 - 18:26) NierRa написал(а):
Warning: file_get_contents(ROOT_SITE/404.html) [function.file-get-contents]: failed to open stream: No such file or directory in Z:\home\мой_сайт\www\modules\about\license.php on line 6

Спустя 4 минуты, 34 секунды (30.07.2012 - 18:30) killer8080 написал(а):
NierRa
код именно тот что я показал? Если да, то значит константа не объявлена, чудес не бывает. smile.gif

Спустя 6 минут, 37 секунд (30.07.2012 - 18:37) NierRa написал(а):
Код тот, что ты указал. Я скопировал его с темы.

Уверен, что так и есть но тогда вопрос.
Константу обьявил в индексной странице, значит ее должно быть видно по всей структуре сайта. Почему это не так?

Спустя 1 минута, 10 секунд (30.07.2012 - 18:38) kamanch написал(а):
Если Z:\home\мой_сайт\www, то:
Цитата

file_get_contents()
Замечание:  Если вы открываете URI содержащий спецсимволы, такие как пробел, вам нужно закодировать URI при помощи urlencode().

Возможно, что кирилица воспринимается, как спецсимвол.

Спустя 28 минут, 13 секунд (30.07.2012 - 19:06) NierRa написал(а):
Та нет же, я просто здесь при написании в пост закрыл адрес сайта. Там нормальное имя латинскими буквами, все как положено

Спустя 1 минута, 46 секунд (30.07.2012 - 19:08) inpost написал(а):
NierRa
Потому что индексная страница ещё не говорит о том, что она будет везде. Необходимо сделать единую точку входа через неё, тогда они и будет везде.

Спустя 10 минут, 10 секунд (30.07.2012 - 19:18) kamanch написал(а):
Я все базовые установки, в том числе определение всех констант, прописываю в config.php, который потом инклюдится в каждую страницу.


_____________
Задача на корректную обработку данных (мое решение)
http://eu.battle.net/sc2/ru/profile/2212951/1/IIIIIIIIIIII/
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.