PHP: Documento problema directorio raíz barra invertida
Pregunta
Estoy tratando de vincular a una hoja de estilo en mi archivo de cabecera utilizando $ _SERVER [ "DOCUMENT_ROOT"] de la siguiente manera:
<head>
<?php
print "<link href='".$_SERVER["DOCUMENT_ROOT"]."/include/style.css' rel='stylesheet' type='text/css' />";
?>
<title>eLMS</title>
</head>
Desde que estoy probando a nivel local, me estoy haciendo la ruta como:
<head>
<link href='C:\Users\wretrOvian\Documents\eLMS\site/include/style.css' rel='stylesheet' type='text/css' /> <title>eLMS</title>
</head>
Y esto no es la prestación en Firefox. Lo hace en el IE sin embargo. Esto es obviamente un problema de validación. PERO, he intentado el mismo código en el servidor - con los mismos resultados. : (
¿Cómo hago para arreglar esto? El producto final puede o no puede ejecutarse en un servidor local, por eso es necesario el código para ser flexible ..
Estoy usando Abismo servidor web con PHP 5.2.8 x1
Debo usar rutas absolutas - porque yo no quiero copiar la carpeta de incluir a cada subdirectorio de la aplicación. Tengo que ser capaz de hacer referencia a él desde todos los lugares.
Solución
Sólo tiene que utilizar la siguiente:
<head>
<link href='/include/style.css' rel='stylesheet' type='text/css' />
<title>eLMS</title>
</head>
O, si se utiliza de forma local:
<head>
<link href='../include/style.css' rel='stylesheet' type='text/css' />
<title>eLMS</title>
</head>
La raíz del documento es para uso interno (dentro de PHP), no para en el código HTML.
Otros consejos
Trate de usar:
$_SERVER['HTTP_HOST']
No utilizar una ruta absoluta del sistema de archivos, utilice una ruta relativa (pero sin incluir) la raíz del documento. En este caso simplemente /include/style.css
.
Para el uso de archivos locales desde el navegador, utilice el esquema file
.
file://C:/dir/file.ext
file:///dir/file.ext
No está seguro si necesita dos o tres barras, probablemente dos de las ventanas con la letra de unidad, tres en * nix con la barra de raíz, aunque me parece recordar haber visto tres barras con la letra de unidad. ¡Intentalo! : P
Trate de usar la constante DIRECTORY_SEPARATOR
. Devuelve \ en sistemas Windows y / en sistemas * nix.
En primer lugar, la raíz del documento es literalmente el directorio que / del servidor Web se encuentra en. Por lo general no desea utilizar esto con cualquier contenido en la web. Uso / lugar.