Foros del Web » Programando para Internet » PHP »

Problema con include() con archivos locales

Estas en el tema de Problema con include() con archivos locales en el foro de PHP en Foros del Web. Hola a todos. Estoy tratando de usar include() para incluir una serie de archivos con funciones y constantes. El problema es que tengo que usar ...
  #1 (permalink)  
Antiguo 06/05/2002, 12:09
 
Fecha de Ingreso: mayo-2002
Mensajes: 66
Antigüedad: 15 años, 7 meses
Puntos: 0
Problema con include() con archivos locales

Hola a todos.

Estoy tratando de usar include() para incluir una serie de archivos con funciones y constantes.

El problema es que tengo que usar DIRECCIONES ABSOLUTAS, es decir en vez de poner:
Código:
 include("./inc/funciones.php")
tengo que poner algo del estilo:
Código:
 include("http://dominio  /inc/funciones.php")
Había intentado hacer esto:
Código:
  include(dominio . "inc/funciones.php")
(donde
Código:
 dominio
es una constante que contiene el dominio del web site) pero me da error.

En cambio cuando el include lo hago de manera relativa al directorio actual
Código:
 include("./inc/funciones.php")
no provoca error y lo hace todo bien.

Y, claro, mi pregunta es:
¿Hay alguna manera de hacer includes de archivos dentro del dominio del web site de manera que los archivos a incluir estén especificados de manera ABSOLUTA?

Gracias de antemano.

  #2 (permalink)  
Antiguo 06/05/2002, 12:55
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 16 años, 1 mes
Puntos: 5
Re: Problema con include() con archivos locales

Segun que sistema operativo estes utilizando la funcion include() te deja insertar direcciones web, bajo un sistema operaitovo *unix podras hacerlo, siestas utilizando windwos te recomiendo que utilices la funciones fopen() para abrir el archivo y asi cojer el contendio y poder usarlo, te aconesjo que leas en el manual de php.net como utilizar los archivos remotos, es decir con fopen() con la cual puedes abrir archivos remotos de la siguiente manera:

<?php

/* abrimos el archvo */

fopen("http://www.tudominio.com/", "modo");
?>

Con esta funcion si la metes en una variable tendaras el contenido del archivo y podras utilizarlo cunado quieras.

<table style="border:1px solid black"><tr><td><center>
<embed width="88" height="144" src="http://www.alaplaya.com/~epplestun/yo.swf"></td></td><font face=verdana size=1>Ivan Rodriguez el poder es [B]PHP</p></td></tr></table>
  #3 (permalink)  
Antiguo 09/05/2002, 04:15
 
Fecha de Ingreso: mayo-2002
Mensajes: 13
Antigüedad: 15 años, 7 meses
Puntos: 0
Re: Problema con include() con archivos locales

Yo que tú me haría un config.inc.php con una serie de constantes para tus includes.

así las defines un día y depués utilizas:

include(CLASE_USUARIO);
include(CABECERA);
etc.

Si algúin día cambias de server, con modificar el config.inc.php ya lo tienes solucionado.

Eso sí, recuerda hacer un include del config en todas las páginas :)

Portal de Música Barroca
http://www.musicabarroca.com
  #4 (permalink)  
Antiguo 09/05/2002, 05:46
 
Fecha de Ingreso: mayo-2002
Mensajes: 66
Antigüedad: 15 años, 7 meses
Puntos: 0
Re: Problema con include() con archivos locales

;)

Después de leer a epplestun y usar fopen hice precisamente lo que comentas por si acaso en un futuro cambiaba de servidor.

Pero ahora se me plantea otra duda.
Para cada usuario que visite la web y acceda a N archivos .php, el servidor tendrá que procesar esos N archivos .php mas N veces el mismo include, lo cual no me parece muy eficiente siendo que ese include va ser siempre el mismo (contiene constantes y alguna función) y por tanto no va a cambiar.

Y digo yo, ¿no sería mejor tener el contenido de ese include cargado en memoria 1 sola vez de manera que no hubiese que procesarlo por cada acceso a un archivo php que lo utilice?

Pienso tener los 4 o 5 KBs que ocupa el include cargados en memoria no supone ningún exceso y ahorraría tener que procesar el mismo include tantas veces. ¿Se puede hacer esto en PHP?

En ASP sí que se podría hacer guardando las constantes del include en el objeto Application, el cual estaría accesible por TODAS las sesiones. Pero en PHP no tengo ni idea...

¿Alguien sabe si en PHP existe un mecanismo para poner cosas en memoria y que esas cosas estén luego accesibles desde los scripts como si de constantes globales o del sistema se tratara?

Gracias de antemano.

Un saludo,

Alberto
  #5 (permalink)  
Antiguo 09/05/2002, 09:51
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 16 años, 1 mes
Puntos: 68
Re: Problema con include() con archivos locales

No, PHP hasta su ultima version, no tiene el equivalente a una Variable de Aplicacion, como el ASP.

Pero si todos tus usuarios van a estar accediendo al mismo arhivo, el mismo APache es el que se encarga de tenerlo siempre en memoria para accederlo más rápido.

Y después del Apache, también lo hace el S.O., ási que yo no me preocuparía tanto por eso.

Saludos.

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
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 03:17.