Foros del Web » Programando para Internet » PHP »

file_get_contents(URL)

Estas en el tema de file_get_contents(URL) en el foro de PHP en Foros del Web. Hola. He desarrollado un CMS y como me molesta tener que usar un directorio fijo para toda la web para poder usar include y cargar ...
  #1 (permalink)  
Antiguo 14/09/2006, 13:26
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Pregunta file_get_contents(URL)

Hola. He desarrollado un CMS y como me molesta tener que usar un directorio fijo para toda la web para poder usar include y cargar los contenidos, se me ocurrio usar la funcion file_get_contents en las páginas que deban incorporar el cms y de esa forma se pueda usar desde cualquier directorio del servidor, e incluso desde afuera del mismo.

Por ejemplo en una pagina:

Código PHP:
<?PHP
echo file_get_contents("http ://host/ruta/al/cms/contenidos.php");
?>
y contenidos.php devuelve la porcion de codigo html correspondiente.

Bien, esto funciona correctamente, pero noto que la página está bastante lenta. Puede ser que hacer esto sea lo que vuelva mas lenta la página y, peor aun (lo q me preocupa) que traiga problemas en el servidor,como sobrecargarlo???

En caso de que si, de que otra manera se puede realizar una operacion similar? de ultima,utilizare nuevamente includes..


Muchisimas gracias

Saludos cordiales
  #2 (permalink)  
Antiguo 14/09/2006, 13:44
Avatar de Gurrutello  
Fecha de Ingreso: enero-2002
Ubicación: Ontario,Toronto [Canada]
Mensajes: 2.017
Antigüedad: 22 años, 3 meses
Puntos: 6
Hola
Si es en servirdor distinto al tuyo, relentizará por tener que abrir la pagina en el otro servidor que a lo peor es mas lento que el tuyo.
Un truquillo es guardar la pagina cada X tiempo y cargar la que tienes guardada.
Si es tu mismo servidor puedes poner la ruta exacta en disco.
$_SERVER['DOCUMENT_ROOT'] . '/ruta/al/cms/contenidos.php';
o simplemente hacer un include
saludos
__________________
Un Saludo
www.tutores.org
Asp | Php | Javascript | Perl | Coldfusion | Flash | +- 2000 codigos
  #3 (permalink)  
Antiguo 14/09/2006, 15:24
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
No me ha funcionado usar (en el mismo servidor)

file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/ruta/al/cms/contenidos.php');

esto es lo que devuelve:

Warning: file_get_contents(/home/nx000063/public_html/kn/output/notas_completa.php?nota_id=index&tpl_id=nota_bar) [function.file-get-contents]: failed to open stream: No such file or directory in /home/nx000063/public_html/index.php on line 14

Exactamente el codigo que uso es el siguiente:

Código PHP:
<?PHP
    
echo file_get_contents($_SERVER['DOCUMENT_ROOT']."/kn/output/notas_completa.php?nota_id=index&tpl_id=nota_bar");
?>
(el archivo kn/output/notas_completa.php existe)

Que puede ser ?? No se me ocurre..


Mi problema con usar include es que si yo uso en /index.php
Código PHP:
include("./a/1.php"); 
/a/1.php
Código PHP:
include("./a/2.php"); 
no podre incluir el 1.php desde otro directorio que no sea el raiz, ya que pasar la ruta correcta cada vez que se lo incluye es mucho trabajo, y no me es posible hacer un include desde el root con /home/user/public_html etc ya que tengo q incluir primero el archivo de configuracion x_x

Muchas gracias !
Saludos
  #4 (permalink)  
Antiguo 14/09/2006, 15:36
Avatar de Gurrutello  
Fecha de Ingreso: enero-2002
Ubicación: Ontario,Toronto [Canada]
Mensajes: 2.017
Antigüedad: 22 años, 3 meses
Puntos: 6
Hola
utilizando $_SERVER['DOCUMENT_ROOT']
vas a obtener la ruta completa hacia raiz
c:\\webs\tu_web
solo debes de indicar el path desde la raiz al archivo
no deberia de plantear ningun problema.
Normalmente no da mas trabajo insertar $_SERVER['DOCUMENT_ROOT']
ya que lo puedes convertir en una variable desde el principio y hacer todo mas dinamico.
file_get_contents() siempre necesita el path completo al archivo, aunque tambien puedes hacer la url completa a tu web
file_get_contents("http://www.tuweb/kn/output/notas_completa.php?nota_id=index&tpl_id=nota_bar") ;
Saludos
__________________
Un Saludo
www.tutores.org
Asp | Php | Javascript | Perl | Coldfusion | Flash | +- 2000 codigos
  #5 (permalink)  
Antiguo 14/09/2006, 15:42
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
si, eso ultimo es lo que hago actualmente, utilizar la url completa. Si me dices que eso no traera problemas, lo puedo dejar asi.

Es que me parece que hace todo mas lento, y no querria tner problemas en el servidor por ello..

Gracias
Saludos
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 07:38.