user1082764
user1082764

Reputation: 2015

Header template wont alway pull up css

I am new to php, but suspect there is a simple solution that I am not aware of. I have made a template for the header on every page, but when the user loads pages the css page changes in relation to their current page. How do I have php track how many levels up in a folder the user is so I can pull the css from anywhere in the website?

<link rel="stylesheet" href="../templates/css/css.css" type="text/css" />

That is my current link to css, but for a page further down in folders I need it to add additional ../

Upvotes: 0

Views: 100

Answers (3)

jiimy
jiimy

Reputation: 1

The best method is to use:

<link rel="stylesheet" href="<?php echo $_SERVER['DOCUMENT_ROOT']; ?>/templates/css/css.css" type="text/css" />

Upvotes: 0

Larry Williamson
Larry Williamson

Reputation: 1143

You should use an absolute path from the root of the website (note, no ".." just a "/"):

<link rel='stylesheet' href='/templates/css/css.css' type='text/css' />

Will always work, as long as your css is at:

http://yourwebsite.com/templates/css/css.css

Upvotes: 3

Kai Qing
Kai Qing

Reputation: 18833

you shouldn't be using a relative path then. Why not just do something like:

<link rel="stylesheet" href="http://www.mysite.com/templates/css/css.css" type="text/css" />

or

<link rel="stylesheet" href="/templates/css/css.css" type="text/css" />

or

<link rel="stylesheet" href="<?php echo $_SERVER['DOCUMENT_ROOT']; ?>/templates/css/css.css" type="text/css" />

whichever suits your needs - since you may be working locally and have a strange file structure, or a shared style directory for example

Upvotes: 1

Related Questions