Chemin absolu pour servers partagés et servers locaux avec PHP pour CSS

J'ai cherché un correctif d'une seule fois que je peux utiliser dans de multiples projets, mais je n'ai rien trouvé pour fonctionner encore.

Donc, lorsque je construis un site, j'utilise PHP pour les en-têtes, le browser et le pied de page du site qui sont utilisés sur le site.

donc pour un file model qui inclura l'en-tête, le browser, le corps et le pied de page, je fais:

<?php include 'views/headerHTML.php'; ?> <?php include 'views/headerNav.php'; ?> <div id="main"> <!--content--> </div><!--main--> <?php include 'views/footer.php'; ?> 

Maintenant, mes lignes d'appel CSS sont situées dans le headerHTML avec tout JS ou extraits de suivi.

si une page Web se trouve dans plusieurs dossiers – alors les éléments doivent être modifiés par rapport aux files racine

 <?php include '../../views/headerHTML.php; ?> 

mais les references CSS et JS dans ce include sont alors incorrectes car elles sont écrites relatives à ROOT

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

J'utilise WAMP pour le local et tous mes projets sont basés sur des servers virtuels partagés avec plusieurs fournisseurs (GD, fatcow, etc.) et tous ont leurs propres references racistes et maladroites.

J'ai essayé d'utiliser des solutions telles que

 $_SERVER['DOCUMENT_ROOT'] define('ROOT', dirname(__FILE__)); 

Mais je ne peux pas les faire fonctionner sur mon server local et sur leurs servers virtuels. Tout ce que je veux, c'est que peu importe la profondeur de ma page Web dans le dossier héritière – les references dans l'en-tête, le browser, le pied de page, les extraits de code de reference ou les utilitaires situés dans leurs dossiers respectifs seront correctement appelés.

Ce que j'ai fait est de définir les spécificités, y compris les references au sein de celles-ci ont changé pour fonctionner, donc:

 <?php include '../../views/headerHTML_DoubleFolder.php; ?> 

Ce qui est destiné à une page qui comporte deux dossiers est profonde.

Je suis à 100% sûr que c'est probablement le pire que je peux faire et que je nie le but de faire comprend en premier lieu

Quelqu'un se moque de moi et apprends-moi quelque chose de nouveau s'il te plaît = D!

Je vous en suis reconnaissant.

MODIFIER —————

Exemple de problème =

localhost / site / login / login.php appels:

 <?php include '../views/headerHTML.php'; ?> 

Et dans ce file headerHTML.php, il y a:

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

Et comme vous pouvez le voir, l'location du CSS ne sera pas correct lorsque le login.php l'appelle via l'en-têteHTML

append / ou ./ ou dirname ( FILE ) au css href ne va toujours pas charger la feuille de style en visitant login.php

Vous pouvez utiliser des paths, comme /css/style.css.

Essayez d'utiliser "./addresshere".

Exemple de domaine: http://www.test.com
Supposons que votre site Web se trouve sur un dossier comme: http://www.test.com/portal
et votre css est sur: http://www.test.com/portal/css

Exemple d'appel CSS:

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

Le ./ vous permet de passer par le directory racine (principal). Sur localhost, le ./ vous donne l'adresse localhost