Domanda

Sto cercando di creare un collegamento a un foglio di stile nel mio file di intestazione con $ _SERVER [ "DOCUMENT_ROOT"] come segue:

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

</head>

Dal momento che sto testando a livello locale, sto ottenendo il percorso come:

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

</head>

E questo non è il rendering in Firefox. Lo fa in IE comunque. Questo è ovviamente un problema di convalida. MA, ho provato lo stesso codice su un server - con gli stessi risultati. : (

Come posso fare per correggere questo? Il prodotto finale può o non può essere eseguito su un server locale, quindi ho bisogno del codice di essere flessibili ..

sto usando Abyss Webserver x1 con PHP 5.2.8

Devo utilizzare i percorsi assoluti - perché io non voglio copiare la cartella includere ad ogni sottodirectory della app. Ho bisogno di essere in grado di fare riferimento ad esso da ogni posizione.

È stato utile?

Soluzione

Basta usare questo:

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

In alternativa, se viene utilizzato a livello locale:

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

La radice del documento è per uso interno (all'interno di PHP), non per nel codice HTML.

Altri suggerimenti

Provare a utilizzare:

$_SERVER['HTTP_HOST']

Non utilizzare un percorso assoluto del file system, utilizzare un percorso relativo alla (ma non compreso) la radice del documento. In questo caso solo /include/style.css.

Per usare i file locali dal browser, utilizzare lo schema file.

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

Non sono sicuro se avete bisogno di due o tre barre, probabilmente due sulla finestre con la lettera di unità, tre su * nix con la barra principale, anche se mi sembra di ricordare di vedere tre barre con la lettera di unità. Provalo! : P

Prova a usare la costante DIRECTORY_SEPARATOR. Restituisce \ su sistemi Windows e / sui sistemi * nix.

Prima di tutto, la radice del documento è letteralmente la directory che / del server Web si trova a. Di solito non si desidera utilizzare questo con qualsiasi contenuto sul web. Usa / invece.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top