Link href css php

How to include css file in php?

I am using php file and want to include CSS file into PHP, I have included but its not working properly. The file that I am executing is in this directory:

http://host.com/at_t/application/modules/employees/view/employee_detail_view.php?id=4 
http://host.com/at_t/public/style/style.css 

Does it work if you use /at_t/public/style/style.css or the complete address http://host.com/at_t/public/style/style.css with the code you’re using.

4 Answers 4

Here You Only Write Following Code.

No this is not working.If i write click and open source code then click over the css file path then it moves to this path and file not found appears host.com/at_t/application/modules/employees/view/public/css/…

Put the following css inside of your existing html head tag. Like this. Then put css tags in php this:

Maybe you didnt put the right path to your css file?

1) First thing you have typos in your code.

According to your question css file is in style folder(http://host.com/at_t/public/style/style.css) but you are adding wrong path in link href tag (< link href ).

Your employee_detail_view.php file present in view folder(http://host.com/at_t/application/modules/employees/view/employee_detail_view.php?id=4) So if you give link href as (< link href ) then also it can't find the css file because it search only in view folder and its sub folder for css file. So use complete address in your link href tag as follows.

Hot Network Questions

Subscribe to RSS

To subscribe to this RSS feed, copy and paste this URL into your RSS reader.

Site design / logo © 2023 Stack Exchange Inc; user contributions licensed under CC BY-SA . rev 2023.7.27.43548

By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.

Источник

Относительные и абсолютные пути в HTML и PHP

Относительные и абсолютные пути в HTML (веб-адреса)

Абсолютные пути

В данном случае всё очень просто, мы указываем прямой путь к файлу, лежащему на другом домене. Возможно указание сокращенного пути через использование двух слешей в начале без явного указания http или https и сервер сам подставит нужный протокол (расширение) согласно настройке сервера. Важно заметить, что данный вид является необходимым для перехода между сайтами:

Относительно корня сайта

В данном случае браузер берёт домен сайта и к нему подставляет указанную ссылку. В данном случае получится http://school-php.com/css/style.css. В случае с http, https не надо париться, так как будет браться в том виде, в котором сейчас открыта страница, то есть при http будет http. Так же очень удобно для переноса некого функционала между разными сайтами или же перенос сайта с одного домена на другой не трогая код. Приоритетный способ указания путей к страницам и файлам.

Относительно данной страницы

Менее востребованный способ, так как он берёт нынешнюю страницу и к её пути дописывает новый адрес. То есть находясь на странице http://school-php.com/trick ссылка на файл будет иметь вид: http://school-php.com/trick/css/style.css . Практически невозможен в использовании в случаях, когда мы используем ЧПУ.

Использование тега base

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

http://school-php.com/tricks/css/style.css

Относительные и абсолютные пути в PHP

Всё очень просто, работая в файловой системе мы будем придерживаться правил работы с путями в PHP. Если же мы передаём команду в браузер клиента, то тут используются пути HTML. То есть в следующем примере у нас из PHP передаётся путь браузеру с страницей, на которую ему надо перейти. То, что переход между страницами браузер осуществил можно увидеть в адресной строке:

Итого, открываем страницу page1.php, а в адресной строке записано page2.php, а всё дело в том, что браузер СНАЧАЛА загрузил страницу page1.php, а потом получил информацию с переадресацией и ЗАГРУЗИЛ страницу вторую page2.php. В данном случае переадресация была на стороне клиента (браузера), а значит используем правила относящиеся к HTML (веб-адрес).

Абсолютный путь в PHP

Абсолютный путь в PHP воспринимается как абсолютный путь от директории, в которой установлен веб-сервер. Данный путь можно получить из:

Если взять в пример этот сервер, то его путь: /home/school/public_html/schoolphp , значит для того, чтобы указать полный путь к фотографии ‘/photo/img1.jpg’, необходимо указать такой путь:

getimagesize('/home/school/public_html/schoolphp/photo/img1.jpg'); getimagesize($_SERVER['DOCUMENT_ROOT'].'/photo/img1.jpg');

может быть крайне затруднительно использование DOCUMENT_ROOT, ведь форум (как внешний скрипт) ещё не знает где будет размещаться на сайте. Справиться с данной проблемой можно несколькими способами, давайте парочку перечислим:

1) Создать в виде поддомена страницу.

2) Прописать абсолютный путь в конфиге в config.php , то есть:

Core::$ROOT = $_SERVER['DOCUMENT_ROOT']; getimagesize(Core::$ROOT.'/photo/img1.jpg'); // используем абсолютный путь, который можно модифицировать

Теперь можно без угрызения совести привязать весь сайт на Core::$ROOT, и если случайным образом необходимо поменять путь до подключаемого файла, то можно переопределить значение Core::$ROOT;

Относительно стартового файла (базового)

Во многих системах index.php есть единая точка входа, то есть открывается index.php, а уже из него подключаются другие файлы.

include './modules/allpages.php';

В данном случае будет подключен allpages.php по пути: /home/school/public_html/schoolphp/modules/allpages.php . Данный способ удобен тем, что если прописать include в файле allpages.php: include ‘./modules/module/page.php’;, то искать его будет всё равно относительно точки входа, а именно index.php:

/home/school/public_html/schoolphp/modules/module/page.php

Достаточно удобная реализация учесть, что мы чётко знаем структуру нашего приложения относительно корневого index.php. Даже если мы вызываем любой другой файл, а не index.php, то работать пути будут абсолютно точно так же. Вызвали мы dir.php , значит относительно файла dir.php и будут браться пути!

Что ещё надо знать

Я не мог не напомнить тем, кто забыл или же подсказать тем, кто не знает, что можно вернуться не только вглубь директорий, но и вверх (на папки назад), и синтаксис их достаточно прост:

В данном случае будет браться директория данного файла или корневого index.php, и возвращаться на 1 папку назад, там же будет искаться файл ‘file.php’.

DOCUMENT_ROOT не единственный вариант получить корневой путь сайта. Давайте взглянем в мануал: «Директория корня документов, в которой выполняется текущий скрипт, в точности та, которая указана в конфигурационном файле сервера.» . Это значит, что в случаях, если в конфигурационном файле будет некорректно написан путь, то весь сайт не будет работать. Что делать? Можно писать админам и владельцам хостинга, на котором размещается сервер с надеждой, что они исправят свои недочёты. Или искать стабильную альтернативу, которой является __DIR__ , это абсолютный путь к данному файлу, где запущен код файлу. Допустим файл конфигурации у нас лежит в папке config, и чтобы используя __DIR__ не возвращаться каждый раз на 1 папку наверх записью __DIR__’/../’ мы смело можем __DIR__ записать в свою переменную, примером ниже я записал в свойство класса (урок №24, кто не дошел используйте обычную переменную):

Core::$ROOT = __DIR__; // Или же для старых PHP - dirname(__FILE__);

Так же хотелось напомнить кое-что интересное и важное. Согласно безопасности веб-сервер запрещает перемещение по директориям выше корня сайта. То есть сайт находится по следующему пути: /home/school/public_html/schoolphp , но прочитать содержание папок /home, или /home/school будет недоступно.

Может ли PHP пользоваться путями HTML ? Да, в специальных функциях, для примера:

file_get_contets('http://school-php.com');

Практика

В своих старых проектах я использовал DOCUMENT_ROOT, сейчас перешел на относительные index.php пути ‘./папка/файл’.

Zend2, продукт от разработчиков PHP, один из самых сложных FrameWork на данный момент использует так же относительные пути с отличным синтаксисом от моего, то есть ‘папка/файл’.

Форум IPB.3 использует dirname(__FILE__).

Выводы:

1) В HTML используем пути относительно корня сайта, а именно ‘/file.php’ (Строка начинается со слэша).
2) в PHP используем относительно корневого файла ‘./file.php’ (Строка начинается с точки и слэша), альтернативой может быть использование свойства, инициализированного в корне: __DIR__;
3) Переадресация header использует пути из HTML. PHP работая с файловой системой (подключение файлов, сохранение и редактирование изображений) — с PHP путями.

Школа программирования © 2012-2023
imbalance_hero | inpost@list.ru , admin@school-php.com
account on phpforum | youtube channel

Источник

However I have quite a few CSS files that need to be linked to the main PHP file for things like sliders, picture boxes etc. I’m not quite sure how I would do that because the only works for the stylesheet that is named styles.css and my other stylesheets all have different names. Does anyone know how I can ink them all in?

5 Answers 5

Just put all of your stylesheets in a directory wp-content\themes\twentyeleven\css .Then you can link all these by simply put below code-

/css/style1.css" /> /css/style2.css" /> /css/style3.css" /> /css/style4.css" /> 

Your source code doesn’t include a filename. bloginfo(‘stylesheet_url’) only returns the link to your stylesheet. folder URL, usually the theme folder. You need to also append the folder (if one) and the filename.css

Remember to always code with WordPress standards in mind. Linking to a stylesheet is not a best practice. This enables proper caching and efficiency and is easier in the long run.

From the free 300 page book I read last weekend — WordPress AJAX, pg 53:

// load styles + conditionally load an IE 7 stylesheet add_action('init', 'my_theme_register_styles'); function my_theme_register_styles() < //Register styles for later use wp_register_style('my_theme_style1', get_stylesheet_directory_uri() . '/style1.css', array(), '1.0', 'all'); wp_register_style('my_theme_style2', get_stylesheet_directory_uri() . '/style2.css', array('my_theme_style1'), '1.0', 'all'); wp_register_style('my_theme_style3', get_stylesheet_directory_uri() . '/style3.css', array('my_theme_style1', 'my_theme_style2'), '1.0', 'all'); global $wp_styles; $wp_styles->add_data( 'my_theme_style3', 'conditional', 'lte IE 7' ); > 

Put this in your functions.php or your header.php. It properly conditionally loads a stylesheet for the IE’s.

Источник

How to import/include a CSS file using PHP code and not HTML code?

However, my page prints the CSS code. Note: I want to use PHP to include the CSS file, and not use I also do you want to rename my CSS file to a PHP file as some website mentioned. Any clues? Many thanks.

Do you want to have the CSS interpreted as PHP, or do you just want the page to use that CSS file in how it displays the HTML?

Your question is a bit confusing because it’s unclear why you want to do this. CSS is meant to affect how the page looks. It can only do that if the user’s browser reads the CSS and applies it to the HTML. The browser won’t be given your PHP code, so it either has to see a reference to the CSS file and be able to fetch it, or see the CSS embedded in the HTML. Which one of those do you mean to have appear in the HTML: the reference to the CSS file, or the raw CSS code? If neither, what’s the purpose of bringing in the CSS to your PHP script?

16 Answers 16

You have to surround the CSS with a tag:

PHP include works fine with .css ending too. In this way you can even use PHP in your CSS file. That can be really helpful to organize e.g. colors as variables.

This is the best solution, PHP includes don’t necessarily have to end .php . Also the tags don’t need to be echoed so could be used for better readability.

@Sarah Check the source code in the browser. Is the CSS code showing up between the

@Sarah It definitely SHOULD work — so the problem is almost surely this: when you do an include(), you need a filesystem based path, while in the document everything is web root based. Therefore, your php won’t find the CSS file. An easy fix for this is using __ DIR __ (uppercase DIR with double underscores on both sides, no spaces; a magic constant of php) that will give you the filesystem path of the file you’re in; then you only have to go relative from that.

You are including the CSS code as text in your PHP page. Why not just link it in the traditional fashion?

This (or an @import) is the best way to include CSS in the page. If you use PHP to dump the contents of your CSS file into your HTML, then every time your user requests a page, they will have to download the entire contents of your CSS file along with it, as part of the HTML. However, if you use this kind of tag, the browser can request the CSS seperately, and, the next time it sees a reference to the same CSS file, it will say «oh, I already have that,» and not bother requesting it. That will make things faster for the user and will mean less work to your web server.

Источник

Читайте также:  Двоичная система исчисления python
Оцените статью