Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Загрузка CSS стилей в файле, подключаемом через REQUIRED. Как?
Форумы портала PHP.SU » Клиентская разработка » HTML, Дизайн & CSS » Загрузка CSS стилей в файле, подключаемом через REQUIRED. Как?

Страниц (1): [1]
 

1. LShark - 07 Января, 2013 - 12:06:50 - перейти к сообщению
На каждой странице сайта имеется в начале строка:
require_once($_SERVER['DOCUMENT_ROOT']. '/incl/header.php');

Внутри хедера есть строка:
<link rel="stylesheet" type="text/css" href="'. $_SERVER["DOCUMENT_ROOT"] . '/sty.css">

Но, как оказалось, такие стили просто не подключаются (т.е. страница загружается БЕЗ этих стилей).

Если
<link rel="stylesheet" type="text/css" href="'. $_SERVER["DOCUMENT_ROOT"] . '/sty.css">
вставить в начало каждой страницы - то стили грузятся.

Подскажите, как можно заставить документ использовать стили, загружаемые в хедере (т.е. через required) ?

Или как то еще?
А то в 100 файлов - в каждый вписывать такую строку - все таки не гуд...

Эксплорер - работает (как это не странно), а Опера и Гуглобот - нет - показывают документ без стилей, хотя в исходниках строка для подключения css видна.


(Добавление)
Все, вопрос отпал Улыбка

Заменил абсолютные пути
CODE (htmlphp):
скопировать код в буфер обмена
  1. <link rel="stylesheet" type="text/css" href="'. $_SERVER["DOCUMENT_ROOT"] . '/sty.css">

на относительные
CODE (htmlphp):
скопировать код в буфер обмена
  1. <link rel="stylesheet" type="text/css" href="/sty.css">

в хедере - и все заработало...

PS. Вдруг кому еще пригодится...

PSS. Модерам - можно добавить в конец названия темы "(Решено)".
Кстати, а почему нельзя сменить название темы?
2. DelphinPRO - 07 Января, 2013 - 12:33:39 - перейти к сообщению
в $_SERVER["DOCUMENT_ROOT"] хранится путь в файловой системе. его нельзя использовать как часть URL
(Добавление)
LShark пишет:
href="/sty.css"

такая запись неуниверсальна. допустим ваш проект нужно будет поместить не в корне сервера, а в подпапке, и всё - такое подключение работать не будет.
правильнее будет определять "корневой url" (не знаю как правильно назвать)
переменная типа $webroot, которая будет пустой строкой для размещения в корне, и содержать что-то вроде "/papka" если проект размещен в подпапке.
Чтобы не писать вручную, можно использовать примено такой код в точке входа:

PHP:
скопировать код в буфер обмена
  1. define('DIR_ROOT', dirname(__FILE__));
  2. define('WEB_ROOT', str_replace($_SERVER['DOCUMENT_ROOT'], '', str_replace('\\', '/', DIR_ROOT)));

и использовать
CODE (htmlphp):
скопировать код в буфер обмена
  1. <link rel="stylesheet" type="text/css" href="<?= WEB_ROOT ?>/sty.css">

mkulf подключение всегда будет корректным

 

Powered by ExBB FM 1.0 RC1