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, $errstr, 30);
fwrite($fp, $out);
$body = false;
$codigo="";
while (!feof($fp)) {
$codigo .= fgets($fp, 128);
}
fclose($fp);
return $codigo;
}