Foros del Web » Programando para Internet » PHP »

como hago q include() haga esto...

Estas en el tema de como hago q include() haga esto... en el foro de PHP en Foros del Web. mi problema creo q e s facil pero no me a funcionado mucho lo q e intentado... lo q pasa es q cuando hago include ...
  #1 (permalink)  
Antiguo 15/01/2003, 15:46
Avatar de ArrauKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 664
Antigüedad: 15 años, 1 mes
Puntos: 4
como hago q include() haga esto...

mi problema creo q e s facil pero no me a funcionado mucho lo q e intentado...


lo q pasa es q cuando hago include a algun script q tengo en una subcarpeta, el script no funciona pk no encuentra los archivos q estan vinculados a este
por ejemplo

si tengo index.php en la raiz y esta tiene adentro un include() asi

<?

include('miscript/script.php')

?>

el script.php busca sus archivos en su propia carpeta, por eso cuando el codigo "sube" un nivel de carpeta (pk mediante el include pasa a kedar como parte del codigo de index.php)

entonces por lo tanto manda este tipico error

Warning: Failed opening 'talarchivo.php' for inclusion (include_path='') in d:\www\arraukanos\index.php on line 17

obvio pk talarchivo.php no esta en esa carpeta sino en
d:\www\arraukanos\miscript


se entiende ?
__________________
Blog | Tecnosquad
  #2 (permalink)  
Antiguo 15/01/2003, 16:01
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 15 años, 9 meses
Puntos: 54
O me parece a mi, o eso está mal escrito:
Código PHP:
<?
include "miscript/script.php";
?>
Con comillas, sin paréntesis.
__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.
  #3 (permalink)  
Antiguo 15/01/2003, 16:02
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Una solucion seria usar dentro del fichero a incluir el path completo de los ficheros que incluye, no el relativo. Esto te obligaria a modificar esos paths si en otra instalacion no usas los mismos directorios.

Otra opcion sera crear un config.php en el directorio de index.php que se incluiria siempre y que contenga los path en variables. Luego los ficheros que se incluyan usaran esas variables para incluir a su vez otros ficheros. Tiene el mismo problema que antes.

Una tercera opcion seria distinguir entre ficheros que se acceden unicamente por el navegador (index.php) y ficheros que solo se acceden por medio de include(). En estos ultimos no estaria permitido usar include(). Si un fichero incluido en index.php necesita incluir otro fichero, seria index.php el que tendria la responsabilidad de incluirlo antes.

La ultima opcion seria que si tienes acceso al php.ini y no repites el nombre de los ficheros, poner en el include_path del php.ini todos los directorios del sitio web. Esta opcion me parece una chapuza.

Espero haber sido de ayuda.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 15/01/2003, 16:19
Avatar de ArrauKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 664
Antigüedad: 15 años, 1 mes
Puntos: 4
haber, el

include absoluto com sería ?

d:/www/arraukanos/

o

http://misitio/


?
__________________
Blog | Tecnosquad
  #5 (permalink)  
Antiguo 15/01/2003, 16:24
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 15 años, 9 meses
Puntos: 54
Sería el directorio local del servidor, es decir, d:\carpeta\carpeta\...\archivo.php
¿Pero no funcionó lo que te dije?
__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.
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 11:00.