Foros del Web » Programando para Internet » PHP »

include a través de HTTP

Estas en el tema de include a través de HTTP en el foro de PHP en Foros del Web. Hola!!, requiero hacer un include a un archivo fuera de mi page. include ("http://www.otrapagina.com/archivoexterno.php"); pero no lo incluye, ¿debo tener alguna configuración especial?, ¿cuál es ...
  #1 (permalink)  
Antiguo 07/03/2007, 14:13
 
Fecha de Ingreso: marzo-2002
Mensajes: 299
Antigüedad: 22 años, 1 mes
Puntos: 1
include a través de HTTP

Hola!!, requiero hacer un include a un archivo fuera de mi page.

include ("http://www.otrapagina.com/archivoexterno.php");

pero no lo incluye, ¿debo tener alguna configuración especial?, ¿cuál es la forma de incluirlo?.

Desde ya, gracias por su atención
  #2 (permalink)  
Antiguo 07/03/2007, 14:22
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Re: include a través de HTTP

Podrías hacer dos cosas, la primera es un iframe, estaría la parte de esa página en otra, también podría ser un frame, es casi lo mismo. La otra opción sería capturar el archivo mismo con un fopen(url, "r"). Eso si funcionaría, una vez que lo tengas cargado pues procesalo e imprimelo.
  #3 (permalink)  
Antiguo 07/03/2007, 16:18
 
Fecha de Ingreso: marzo-2002
Mensajes: 299
Antigüedad: 22 años, 1 mes
Puntos: 1
Re: include a través de HTTP

gracias, pero no es lo que requiero, tal vez no me he explicado correctamente.

Requiero hacer un include de este tipo:

include ("http://www.paginadedatos.com/informacion.php");

es decir, incluir información de una página que está fuera de la página que llama el include. No hace el include porque cuando hago referencia a una variable que está en ese archivo que incluyo me dice que no existe.

Gracias
  #4 (permalink)  
Antiguo 07/03/2007, 16:42
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años
Puntos: 33
Re: include a través de HTTP

Serenity:
Para hacer un include desde una pagina html hay que hacer 3 pasos:
1.- cambiar la terminacion de la pagina .html a .shtml.
Esto se hace solo copiando toda la pagina .html en algo como el wordpad y guardandolo como texto con la terminacion .shtml.
2.- debes configurar el apache o servidor web para que maneje las SSI o server side includes. Esto se hace entrando al conf. del apache y modificando estas variables:

Options Includes Indexes FollowSymLinks ExecCGI

Y aqui tambien:

AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
AddHandler server-parsed .shtml

3.- Debes incluir de esta forma y dentro de la pagina .shtml:

INCLUIR UN FOOTER EN TODAS LAS PAGINAS COMO ESTANDARD:
<!--#include virtual="/footer.html" -->
o puede ser /tuweb.php

Finalmente, asegurate que tu Apache maneje .shtml segun se observa
aqui:

DirectoryIndex index.html index.html.var index.php index.htm index.shtml

(O lo puedes poner a la inversa, primero .shtml etc. Recuerda Apache busca primero la primera de la linea, despues la segunda y asi sucesivamente.)

Saludos
Y espero te ayude.
Franco
  #5 (permalink)  
Antiguo 11/03/2007, 11:32
Avatar de radamantys  
Fecha de Ingreso: agosto-2006
Mensajes: 46
Antigüedad: 17 años, 7 meses
Puntos: 1
Re: include a través de HTTP

Por no abrir otro tema, podria alguien usar funciones o clases de un archivo php de otra pagina?, es decir que haciendo un include en tu pagina de una pagina exterior la cual contiene una clase, y despues usar esa clase en tu pagina.

gracias de antemano
  #6 (permalink)  
Antiguo 11/03/2007, 12:08
Avatar de DeeR  
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 520
Antigüedad: 20 años, 4 meses
Puntos: 17
Re: include a través de HTTP

Parece que hay un pequeño mal entendido.

Cualquier tipo de peticion a http://elsitio/script/archivoexterno.php este Script se va a Ejecutar en el interprete del servidor elsitio.

Lo que hace el include ("http://www.otrapagina.com/archivoexterno.php");
trata de entender lo que imprime en su ejecucion el script archivoexterno.php. ahora este fichero podria imprimir codgio HTML (que el include lo incluiria) o podria imprimir codigo PHP que el include lo entenderia.

Si lo que quieres es acceder a las funciones, clases, etc de ese Archivo, yo veo 4 opciones.

1.- Acceder via FTP a ese Archivo (ya que accedemos al SOURCE del archivo)
2.- Acceder a http://elsitio/script/archivoexterno.txt y este sea el Source del Archivo
3.- Acceder a http://elsitio/script/mostrarsource....ivoexterno.php este Script imprime el source de archivoexterno.php
4.- que el archivoexterno.php tenga una linea
Código PHP:
$source file_get_contents('archivoexterno.php');

echo 
$source
El cual el mismo se abre y imprime el source de el.

(Ahora si este fichero archivoexterno.php tiene includes propios, estos no se van abrir en el dominio elsitio, si no el interprete va a tratar de buscarlos en los patch donde se ejecuto el script principal, se entiende)


Saludos
  #7 (permalink)  
Antiguo 11/03/2007, 12:30
Avatar de -=ArgoN=-  
Fecha de Ingreso: octubre-2005
Ubicación: Barcelona, España
Mensajes: 843
Antigüedad: 18 años, 6 meses
Puntos: 1
Re: include a través de HTTP

Si lo que quieres es acceder al código PHP que se aloja en un archivo PHP de otro dominio que no controlas, no vas a poder, creo. Solo vas a poder abrir el archivo como si lo abrieras con tu navegador, es decir, que te va a devolver código HTML preprocesado, y no el código PHP sin "ejecutar". Podrías usar la función eval para coger el contenido sin ejecutarlo, pero eso ya no lo tengo muy por la mano.

Saludos.

ArgoN
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 00:59.