Hola suponiendo q tengas un directorio como este:
Código :
Ver original|-> imagenes
| |->imagen1.jpg
| |->imagen2.jpg
|-> css
| |-> estilo.css
|-> includes
| |-> constantes.php
|-> libs
| |-> class.php
|-> misc
| |-> misc.php
|-> index.php
|-> home.php
Suponiendo que en includes/constantes.php tengas algo como:
Código PHP:
<?php
$imagen1 = "imagenes/imagen1.jpg";
$imagen2 = "imagenes/imagen2.jpg";
$css = "css/estilo.css";
Entonces si en index.php haces
Código PHP:
require_once('includes/constantes.php');
...
...
echo "<img src=\"$imagen1\" alt=\"imagen1\">";
Y la salida de eso seria:
Código HTML:
...
<img src="imagenes/imagen1.jpg" alt="imagen1">
...
Funciona porque el navegador va a interpretar "http://www.ejemplo.com/imagenes/imagen1.jpg"
Lo mismo sería en el caso de home.php. En cambio si en misc.php pones
Código PHP:
require_once('includes/constantes.php');
No va a funcionar porque php va a buscar "misc/includes/constantes.php" que no existe. La forma correcta seria:
Código PHP:
require_once('/../includes/constantes.php');
Ahora bien cuando quieras usar las variables
Código PHP:
echo "<img src=\"$imagen2\" alt=\"imagen2\">";
La salida seria la misma que en el caso anterior
Código HTML:
<img src="imagenes\imagen2.jpg" alt="imagen2">
Pero ahora no va a funcionar porque el navegador va a interpretar "http://www.ejemplo.com/misc/imagenes/imagen2.jpg" que no existe y no va a mostrar nada. Una posible solución para esto es modificar constantes.php asi
Código PHP:
<?php
...
$pre = "http://".$_SERVER['SERVER_NAME'];
$imagen1 = "$pre/imagenes/imagen1.jpg";
...
Bueno eso en el caso de las imagenes o las hojas de estilo en el caso de que lo utilices para incluir otros archivos php podrias considerar usar en constantes.php algo como
Código PHP:
$pre = $_SERVER['DOCUMENT_ROOT'];
$include = "$pre/libs/class.php"
Y eso es todo espero haber sido de ayuda. Saludos.