Ver Mensaje Individual
  #8 (permalink)  
Antiguo 06/03/2005, 03:26
dolarsrg
 
Fecha de Ingreso: julio-2003
Mensajes: 209
Antigüedad: 20 años, 9 meses
Puntos: 0
Hola a todos otra vez.

Tengo un problema al cargar en una variable el código de una web que ejecuto en otro servidor con el código que me habéis dado.

Si la web está escrita en PHP y ésta utiliza Include, Require,... no salen más que errores por tener como directorio de trabajo el del servidor desde donde cargo el código y no encontrar los scripts a incluir.

¿¿como podría poner como directorio de trabajo una URL?? Es que con chdir sólo puedo trabajar con directorios locales... Si no se puede, ¿tengo alguna forma de cargar el código de la página remota de forma que se ejecute en su servidor y yo sólo cargue el HTML que recibiría como usuario?

Os dejo aquí la función que estoy usando por si os es de ayuda. ¡¡Muchas gracias!!

Código PHP:
function captura_html($url) {
   
$url_parsed parse_url($url);
   
$host $url_parsed["host"];
   
$port $url_parsed["port"];
   if (
$port==0)
       
$port 80;
   
$path $url_parsed["path"];

   
//Si la URL fuese http://ejemplo.com sin un final "/"
   //Daría un error 400
   
if (empty($path))
   
$path="/";

   
//Redirecciono si la URL resultase erronea
   
if (empty($host)):
   
$host="www.algunsitio.com";
   
$path="/404.shtml";
   endif;

   if (
$url_parsed["query"] != "")
       
$path .= "?".$url_parsed["query"];
   
$out "GET $path HTTP/1.0\r\nHost: $host\r\n\r\n";
   
$fp fsockopen($host$port$errno$errstr30);
   
fwrite($fp$out);
   
$body false;
   
   
$codigo="";
   while (!
feof($fp)) {
   
$codigo .= fgets($fp128);
   }
   
fclose($fp);
   
   
   return 
$codigo;