Question

Je suis en train de créer un lien vers une feuille de style dans mon fichier d'en-tête en utilisant $ _SERVER [ « DOCUMENT_ROOT »] comme suit:

<head>
    <?php
        print "<link href='".$_SERVER["DOCUMENT_ROOT"]."/include/style.css' rel='stylesheet' type='text/css' />";
    ?>
    <title>eLMS</title>

</head>

Depuis que je teste sur place, je reçois le chemin que:

<head>
    <link href='C:\Users\wretrOvian\Documents\eLMS\site/include/style.css' rel='stylesheet' type='text/css' />      <title>eLMS</title>

</head>

Et ce n'est pas le rendu dans Firefox. Il fait cependant dans IE. Ceci est évidemment un problème de validation. Mais, je l'ai essayé le même code sur un serveur - avec les mêmes résultats. : (

Comment puis-je faire pour régler ce? Le produit final peut ou peut ne pas fonctionner sur un serveur local, donc je besoin du code pour être flexible ..

J'utilise Abyss Webserver x1 avec PHP 5.2.8

Je dois utiliser des chemins absolus - parce que je ne veux pas copier le dossier à inclure chaque sous-répertoire de l'application. Je dois pouvoir y référer à chaque emplacement.

Était-ce utile?

La solution

Il suffit d'utiliser ceci:

<head>
    <link href='/include/style.css' rel='stylesheet' type='text/css' />
    <title>eLMS</title>
</head>

Ou, si elle est utilisée localement:

<head>
    <link href='../include/style.css' rel='stylesheet' type='text/css' />
    <title>eLMS</title>
</head>

La racine du document est à usage interne (à l'intérieur de PHP), et non dans votre code HTML.

Autres conseils

Essayez d'utiliser:

$_SERVER['HTTP_HOST']

Ne pas utiliser un système de fichiers chemin absolu, utilisez un chemin relatif (mais non compris) la racine du document. Dans ce cas seulement /include/style.css.

Pour utiliser les fichiers locaux à partir du navigateur, utilisez le schéma file.

file://C:/dir/file.ext
file:///dir/file.ext

Je ne sais pas si vous avez besoin de deux ou trois barres obliques, probablement deux sur les fenêtres avec la lettre de lecteur, trois sur * nix avec la barre oblique racine, si je me souviens avoir vu trois barres obliques à la lettre de lecteur. Essayez-le! : P

Essayez d'utiliser la constante de DIRECTORY_SEPARATOR. Il retourne \ sur les systèmes Windows et / sur les systèmes * nix.

Tout d'abord, la racine du document est littéralement le répertoire que le / du serveur Web est situé à. Vous ne voulez pas l'habitude de l'utiliser avec tout contenu sur le Web. Utilisez / INSTEAD.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top