🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #13444

Re: Abrir página web desde código php

#13444
From: Jose A
Date: Sat, 24 Feb 2001 01:25
95 lines
4030 bytes
Hola

On Thu, 22 Feb 2001 02:20:10 GMT, Cesarnet <cesarnet@teleline.es> wrote:
>Hola a todos:
>    Se trata de abrir una p�gina web desde otra utilizando Php. He visto por
>ah� algo con "header" pero no me funciona ni pa tras. Si alguien sabe como
>hacerlo le agradecer�a que lo compartiera.

Aqui te pongo dos ejemplos, el primero de la ayuda de php, el segundo es
un script para coger la cabezera, modificado para que no ense�a la cabezera
y si el resto, me parece que lo vi en el libro de "PHP 4".

Uno cosa, tienes que tener en cuenta, si vas a usar alguno de ellos, que
tienen el incoveniente que al cargar la p�gina referenciada, si tiene anclas
a otras p�ginas, o imagenes, si no las referencia con la ruta completa
fallar� la carga de esas p�ginas y la visualizci�n de las imagenes, o sea:

Tienes la p�gina con una funci�n con uno de estos c�digos en 
"~usuario/ejemplos", pues si en la p�gina que cargas tienes un
"<A HREF=directorio/pagina.html>pagina</A>", llamaras a
"~usuario/ejemplos/directorio/pagina.html", y no a 
"http://maquina/~usu-pag/directorio/pagina.html" y te fallar�, si la p�gina
est� en otro servidor, o en la p�gina de otro usuario, siendo "~usuario", t� y
"~usu-pag", el de la p�gina que cargas desde la tuya.

Si la forma de llamarlo es "<A HREF=http://host/~usu-pag/directorio/pagina.html"
funcionar� sin problemas.

De todos modos te los posteo, por si te sirven.

El primero:

<?
    $fichero = fopen ("http://ruta","r");
    if (!$fichero) {
	echo "<p>No se pudo abrir la p�gina</p>\n";
	exit;
    }
    while (!feof($fichero)) {
	$linea = fgets ($fichero, 1024);
	echo $linea;
    }
    fclose ($fichero);
?>


En ruta va, por ejemplo: "www.php.net", o tambien: "www.php.net/nombre.html"

Tambien puedes poner un "ftp://".

El segundo:

<?
    #                 hosts,    puerto, num err, txt err, timeout
    $fp = fsockopen ("nombre-host", 80, &$errno, &$errstr, 30);
    if (!$fp) {
	echo "$errstr ($errno)<BR>\n";
    }
    else {
	fputs ($fp, "GET / HTTP/1.0\r\n\r\n");
	while (!$end) {
	    $line = fgets ($fp,1024);
	    if (trim($line) == "")
		$end = true;
	}
	while (!feof($fp)) {
	    $line = fgets ($fp,1024);
	    echo $line;
	}
	fclose ($fp);
    }
?>

nombre-host, es el nombre del lugar al que te vas a conectar, por ejemplo:
"www.php.net", y el la parte de "GET / HTTP/1.0\r\n\r\n", si pones una ruta
para coger una p�gina, sin indicar el nobre del fichero, para coger el 
"index.html", directamente, es mejor que lo pongas as�:

GET /~usuario/ HTTP/1.0\r\n\r\n

Si no lo haces as�, lo m�s seguro es que salga un texto diciendo que la
p�gina ha sido movida, y que sigas el enlace que te pone.

Por supuesto, imagino que los modificaras, para meter esos datos en variables,
y no hacerlo directamente.

El segundo es mucho m�s rapido que el primero, por lo menos en las pruebas que
yo he hecho. 

Eso s�, para usar el segundo, el php tiene que venir compilado para usar
sockets.

espero que te sirva.

saludos.
Technical Details
Message-ID: <slrn99e3c1.552.MAQUI000@localhost.localdomain>
Path: arc1-ca.pugleaf.net!supernews.google.com!sn-xit-02!supernews.com!nntp-relay.ihug.net!ihug.co.nz!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.cwix.com!newsfeed.bcn.ttd.net!news.bcn.ttd.net!MAQUI000
References: <uH_k6.8226$xo2.300052@telenews.teleline.es>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,c371bbc47850cbca
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2001-02-24 08:27:02 PST
Path: arc1-ca.pugleaf.net!supernews.google.com!sn-xit-02!supernews.com!nntp-relay.ihug.net!ihug.co.nz!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.cwix.com!newsfeed.bcn.ttd.net!news.bcn.ttd.net!MAQUI000
From: MAQUI000@NOSPAM.teleline.es (Jose A)
Newsgroups: es.comp.os.linux.programacion
Subject: Re: Abrir página web desde código php
Date: Sat, 24 Feb 2001 02:25:22 +0100
Organization: Telefonica Transmision de Datos
Lines: 95
Message-ID: <slrn99e3c1.552.MAQUI000@localhost.localdomain>
References: <uH_k6.8226$xo2.300052@telenews.teleline.es>
NNTP-Posting-Host: 212-170-162-156.uc.nombres.ttd.es
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
User-Agent: slrn/0.9.6.2 (Linux)