Foros del Web » Programando para Internet » PHP »

include y require_once

Estas en el tema de include y require_once en el foro de PHP en Foros del Web. Buenas amigo, tengo la siguiente estructura de carpetas: En la raiz: index.php conf.php Dentro de la carpeta "plantilla" head.php Le paso el codigo de mis ...
  #1 (permalink)  
Antiguo 15/06/2009, 14:17
 
Fecha de Ingreso: abril-2008
Mensajes: 31
Antigüedad: 16 años, 7 meses
Puntos: 1
include y require_once

Buenas amigo, tengo la siguiente estructura de carpetas:

En la raiz:

index.php
conf.php

Dentro de la carpeta "plantilla"

head.php

Le paso el codigo de mis archivos:

index.php

Código PHP:
<?php
include("plantillas/head.php");
print(
"entre");
include(
"plantillas/foot.php");
?>
head.php

Código PHP:
<?php
require_once("../conf.php"); //AQUI DA EL ERROR 
?>
conf.php

Código PHP:
<?php
print("entre");
?>
El problema que tengo es que cuando intento entrar al index.php me muestra este error:

Warning: require_once(../conf.php) [function.require-once.html]: failed to open stream: No such file or directory in C:\conalot\plantillas\head.php on line 9

Fatal error: require_once() [function.require.html]: Failed opening required '../conf.php' (include_path='C:\php\includes') in C:\conalot\plantillas\head.php on line 9


Evidentemente es un problema con la ruta, pero no veo el error. Gracias por su ayuda saludos.

Última edición por luis1perez; 15/06/2009 a las 14:25
  #2 (permalink)  
Antiguo 15/06/2009, 14:20
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: include y require_once

eehhhh que error te da?
  #3 (permalink)  
Antiguo 15/06/2009, 14:56
 
Fecha de Ingreso: marzo-2009
Mensajes: 30
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: include y require_once

Fijate que en el require_once esta linkeado a C:\conalot\plantillas\head.php que me imagino que es de tu escritorio.
Cambia:

Código:
require_once("../conf.php"); //AQUI DA EL ERROR
Por:
Código:
require_once('conf.php');
Ahi te deberia andar
  #4 (permalink)  
Antiguo 15/06/2009, 17:24
 
Fecha de Ingreso: abril-2008
Mensajes: 31
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: include y require_once

No amigo, ya lo probe y tampoco funciona. Fijate que el head esta dentro de otra carpeta llamada plantilla, es decir "plantilla/head.php". Si abro directamente el "head.php" no me da error. Cuando lo intento abrir desde el index.php es que me da problema.

Me imagino que es porque estoy tratando de hacer un include dentro de otro. Pero no debería dar problema, pero por alli podrían ir los tiros como dicen.
  #5 (permalink)  
Antiguo 15/06/2009, 17:26
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: include y require_once

y el conf.php donde esta desde el root?
  #6 (permalink)  
Antiguo 15/06/2009, 17:27
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 16 años, 3 meses
Puntos: 32
Respuesta: include y require_once

Y tampoco te funciona asi?? "plantilla/head.php"
  #7 (permalink)  
Antiguo 15/06/2009, 17:38
 
Fecha de Ingreso: abril-2008
Mensajes: 31
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: include y require_once

el conf.php esta en la raiz, no se si a eso te refieres con "root" al igual que index.php, esos dos archivos estan en el mismo nivel, tanto "conf.php" y "index.php".

No entiendo bien tu pregunta "acoeveil", actualmente lo tengo asi "plantilla/head.php"
  #8 (permalink)  
Antiguo 15/06/2009, 17:52
 
Fecha de Ingreso: abril-2003
Mensajes: 1.129
Antigüedad: 21 años, 7 meses
Puntos: 34
Respuesta: include y require_once

Perdón edito...

Me funciona bien, es que mientras hacia las pruebas puse mal el nombre del archivo al que estaba llamando...

en test/require tengo index.php con

Código PHP:
<?php

require_once('../require1.php');

echo 
$hola;


?>
y en test/ tengo

require1.php con

Código PHP:
<?php

$hola
="Hola";

?>
__________________
elGastronomo

Última edición por American2010; 15/06/2009 a las 17:58
  #9 (permalink)  
Antiguo 15/06/2009, 17:59
 
Fecha de Ingreso: abril-2008
Mensajes: 31
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: include y require_once

La verdad que ni idea si tiene que ver con ese error amigo. Leí un poco sobre el link que me dio pero no ví mucha luz con relación a mi problema.
  #10 (permalink)  
Antiguo 15/06/2009, 18:00
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: include y require_once

Si index esta en la raiz del sitio, todos los arhivos seran buscados a partir de la raiz, a menos que especifiques una ruta absoluta.

Si conf esta al mismo nivel que index, entonces deberias probar la opcion que te dijo awitta, porque no importa si head esta en plantilla/tema/cabecera/head.php, la ruta para conf seguira en dependencia del script original que se esta ejecutando (index) y no del que hace "la llamada".
__________________
- León, Guanajuato
- GV-Foto
  #11 (permalink)  
Antiguo 15/06/2009, 18:01
 
Fecha de Ingreso: abril-2003
Mensajes: 1.129
Antigüedad: 21 años, 7 meses
Puntos: 34
Respuesta: include y require_once

Cita:
Iniciado por luis1perez Ver Mensaje
La verdad que ni idea si tiene que ver con ese error amigo. Leí un poco sobre el link que me dio pero no ví mucha luz con relación a mi problema.
Sorry, lo edité el post, lee como quedo el nuevo, si me funciona como pones vos...

Intenta poner el conf.php al mismo nivel del otro a ver si el problema no viene de otro lado...
__________________
elGastronomo
  #12 (permalink)  
Antiguo 15/06/2009, 18:29
 
Fecha de Ingreso: abril-2008
Mensajes: 31
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: include y require_once

hola Triby, ya probé la opción que me dijo awitta y me da el mismo error. Probé coloando el "conf.php" dentro de la carpeta "plantilla" y despues hago un:

Código PHP:
require_once('conf.php'); 
Al hacer esto me funciona sin problemas xq el conf.php esta dentro de la misma carpeta plantilla.

Si el conf.php esta fuera de la carpeta plantilla, entonces yo desde "head.php" debería hacer:

Código PHP:
require_once('../conf.php'); 
y alli es donde me da el problema.

como cres que estaría bien la llamada según la estructura de carpetas que tengo ??

American no entendí bien lo que quisiste decir con tu ejemplo.
  #13 (permalink)  
Antiguo 15/06/2009, 18:34
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: include y require_once

probaste tambien conf.php desde head.php?
  #14 (permalink)  
Antiguo 15/06/2009, 19:05
 
Fecha de Ingreso: abril-2008
Mensajes: 31
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: include y require_once

Amigo cuando el conf.php esta dentro de la carpeta "plantilla" que es donde esta tambien el head.php no tengo problema, el problema viene cuando el conf.php esta afuera de la carpeta plantilla y llamo desde el index.php. También es importante destacar que si abro directamente el "head.php" no me da problemas tampoco.
  #15 (permalink)  
Antiguo 15/06/2009, 19:06
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: include y require_once

- Raiz del sitio/
------ index.php
------ conf.php
------ plantillas/
---------- head.php

Si desde index haces include o require de head y dentro de head haces include o require de conf, es como si lo hicieras desde index.

index.php
Código php:
Ver original
  1. <?php
  2. include 'plantillas/head.php';
  3. echo 'Este es el contenido de la pagina';
  4. include 'plantillas/foot.php';
  5. ?>

plantillas/head.php
Código php:
Ver original
  1. <?php
  2. include 'conf.php';
  3. ?>

Esto no te debe dar problemas, a menos que intentes abrir plantillas/head.php desde el navegador.
__________________
- León, Guanajuato
- GV-Foto
  #16 (permalink)  
Antiguo 15/06/2009, 19:07
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: include y require_once

Pues si el problema esta en que mueves el conf.php tienes que nombrar el directorio y luego el conf.php

ejemplo vamos a suponer que mueves el conf.php dentro de un directorio llamado plantilla. Lo debes llamar asi desde el index.php

require_once("plantilla/confi.php");

Ahora si mueves el confi.php dentro de plantilla y el head.php esta dentro y ahora colocas el conf.php y quieres llamar el conf.php desde head.php debes llamarlo dentro del head.php

require_once("conf.php");
  #17 (permalink)  
Antiguo 15/06/2009, 19:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: include y require_once

Lo mejor para casos como este es definir una ruta base, y hacer un include como:
Código php:
Ver original
  1. include(ROOT_DIR . '/footer.php');

Así te evitas todos los problemas de rutas.

Saludos.
  #18 (permalink)  
Antiguo 18/06/2009, 17:16
 
Fecha de Ingreso: abril-2008
Mensajes: 31
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: include y require_once

Hola amigos, probé el codigo asi en otro equipo:

Dentro de head.php

Código PHP:
require_once("conf.php"); 
Y me funcionó sin problemas. Ahora cuando lo probé en este equipo si me dio ese error. Siendo el mismo codigo sin modificarlo en ningun momento.

Por visto hay algo mal configurado en el servidor apache en los archivos, php.ini o httpd.conf.

Alguien sabra que es lo que tengo que modificarle a alguno de esos archivos ??
  #19 (permalink)  
Antiguo 18/06/2009, 18:12
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 11 meses
Puntos: 89
Respuesta: include y require_once

¿Será que en el otro equipo el archivo conf.php está en el mismo directorio que el archivo que lo llama? Quizá en tu equipo, donde da el error, el archivo conf.php se encuentra en otra ruta y lo llamas de forma errónea.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #20 (permalink)  
Antiguo 19/06/2009, 16:47
 
Fecha de Ingreso: abril-2008
Mensajes: 31
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: include y require_once

No amigo, yo copie mi proyecto completo (incluyendo obviamente el conf.php) en el otro equipo y funcionó. Alguna otra ida ??
  #21 (permalink)  
Antiguo 19/06/2009, 16:57
 
Fecha de Ingreso: diciembre-2008
Mensajes: 118
Antigüedad: 15 años, 11 meses
Puntos: 6
Respuesta: include y require_once

puede ser que este ejemplo no se todo el código que teienes en esos archivos?
porque como usas require_once, aver si esta incluyendo el archivo dos veces
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:16.