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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Загрузка CSS стилей в файле, подключаемом через REQUIRED. Как?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
LShark
Отправлено: 07 Января, 2013 - 12:06:50
Post Id



Частый гость


Покинул форум
Сообщений всего: 240
Дата рег-ции: Нояб. 2012  


Помог: 1 раз(а)




На каждой странице сайта имеется в начале строка:
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. Модерам - можно добавить в конец названия темы "(Решено)".
Кстати, а почему нельзя сменить название темы?

(Отредактировано автором: 07 Января, 2013 - 12:16:54)



-----
Истина прежде всего в том, что...
 
 Top
DelphinPRO
Отправлено: 07 Января, 2013 - 12:33:39
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




в $_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 подключение всегда будет корректным


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTML, Дизайн & CSS »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB