Require_once apuntando a la raíz
5 seguidores
Buenas a tod@s!
La pregunta es ¿Cómo apunto a la raíz independientemente de la localización de mi archivo?
Quiero "llamar" al archivo que contiene el encabezado de todo el sitio y usar el mismo require_once independientemente de dónde lo llame.
Gracias!
andrewman
Pues podrías hacer como la mayoría de CMS, que definen una constante dentro del fichero index.php con la ubicación del mismo.
Algo como:
define('RAIZ', dirname(__FILE__));
luego dependiendo de los directorios haces los include o require con:
require_once(RAIZ . '/midir/archivo.php');
GUSUM
Hola andrewman!
No acabo de entender del todo. Lo he probado pero me da errores.
¿Podrías decirme cómo sería si el caso es el siguiente?:
Tengo el encabezado.php en la carpeta raíz, y quiero llamar al encabezado.php con un require_once en el archivo producto1.php ( este está dentro de la carpeta productos).
Actualmente lo hago así:
<?php require_once '../encabezado.php' ?>
Funciona perfecto, pero como decía, lo que quiero es tener una llínea de código común para todos los archivos en las dferentes carpetas...
Gracias!
andrewman
Perdón fue un error mío asumir que hacías las llamadas a un fichero único. (ejm: index.php?seccion=productos)
En tu caso, utilizas un fichero distinto y como el ejemplo que te di define la constante en el index, pues no nos sirve.
¿Tienes algún fichero que incluyas en todos los demás? Si utilizas una base de datos, tal vez tengas uno donde defines los parámetros de conexión y podrías declarar una constante allí.
GUSUM
No pasa nada, andrewman,
Además del encabezado.php, también estoy incluyendo el pie.php y el menu.php, no sé si a eso te refieres.
No estoy usando base de datos..
Gracias.
MAXer3D
La forma de hacerlo sería:
require_once( '/midir/archivo.php');
GUSUM
Hola MAXer3D,
Lo he probado y da error....
Por cierto, ¿qué es midir?
Gracias.
andrewman
'midir' es un nombre aleatorio dado como ejemplo para un directorio.
Sobre el fichero en común, me refería a uno que incluyas siempre (sin excepción) en todos los demás, donde podrías definir una constante.
Lo otro sería que utilices una plantilla única e incluyes el contenido según la sección o producto, porque no estoy seguro, pero ¿producto1.php significa que utilizarás un fichero para cada producto?
MAXer3D
prueba esto:
http://www.sitio.com/encabezado.php
http://www.sitio.com/index.php
<?php require_once('/encabezado.php'); ?>
http://www.sitio.com/productos/index.php
<?php require_once('/encabezado.php'); ?>
guitobon
<?php require_once($_SERVER["DOCUMENT_ROOT"]."/head_comun.php"); ?>