Foros del Web » Programando para Internet » PHP »

file_get_contents()

Estas en el tema de file_get_contents() en el foro de PHP en Foros del Web. Hola: Tengo una duda respecto a esta función, resulta que tengo en mi web (en el index) unos titulares rss y asi, verifico la existencia ...
  #1 (permalink)  
Antiguo 21/05/2005, 19:12
Avatar de mixba  
Fecha de Ingreso: noviembre-2003
Ubicación: CPU (Interior)
Mensajes: 116
Antigüedad: 20 años, 4 meses
Puntos: 0
file_get_contents()

Hola:

Tengo una duda respecto a esta función, resulta que tengo en mi web (en el index) unos titulares rss y asi, verifico la existencia de ese fichero en el servidor remoto, el tema es que con esa función me verifica correctamente la existencia del archivo, pero el inconveniente es cuando la web remota (donde está el rss) se encuentra caída o no encuentra ese fichero, entonces mi web tarda unos 169 segundos en generarse debido a esto!!!, habrá alguna forma de hacer que el archivo sea chequeado e inediatamente cargar la web, o mejor dicho, disminuir el tiempo de búsqueda para disminuir asi al mínimo el tiempo de carga?. Prefiero que me de "false" rápidamnte antes que aumente tanto el tiempo de búsqueda y carga, claro :) ¿como podría hacer para evitar todo ese tiempo?

el código que uso es el siguiente:

Código PHP:
$url2 'http://www.laweb.com/files/rss/index.asp';
$page = @file_get_contents("$url2");
if (
$page == NULL)
{
echo   
"<br><br><div align=\"center\" class=\"titulares\"><img src=\"images/noticias/logo_laweb.gif\" border=\"0\" alt=\"Servidor no disponible\"><br><br>De momento no es posible conectar con el servidor de noticias de <a href=\"http://www.laweb.com\" target=\"_blank\">La web Line</a><br>Inténtelo mas tarde.</div>";
}
else
{
$rdf = new news_rdf();
$rdf->set_CacheDir("scripts/rdf/cache/");
$rdf->use_dynamic_display(true);
$rdf->set_max_item (5);
$rdf->set_Options( array("image"=>"hidden""textinput"=>"hidden") );
$rdf->parse_RDF("$url2");
$rdf->finish();

  #2 (permalink)  
Antiguo 22/05/2005, 10:14
Avatar de mixba  
Fecha de Ingreso: noviembre-2003
Ubicación: CPU (Interior)
Mensajes: 116
Antigüedad: 20 años, 4 meses
Puntos: 0
Ahora lo he modificado, leo primero el archivo, mejoró algo ya que disminuye el tiempo en generar la página, pero aún sigue sindo mayor a un segundo, será posible reducirlo aún más?

Código PHP:
$url 'http://www.laweb.com/files/rss/index.asp';
$byte "8192"
$ofile = @fopen("$url""r"); 
$urlx = @fread ($ofile$byte); 
@
fclose($ofile); 
if(!
$urlx
{
echo   
"<br><br><div align=\"center\" class=\"titulares\"><img src=\"images/noticias/logo_laweb.gif\" border=\"0\" alt=\"Servidor no disponible\"><br><br>De momento no es posible conectar con el servidor de noticias de <a href=\"http://www.laweb.com\" target=\"_blank\">La web Line</a><br>Inténtelo mas tarde.</div>";
} else { 
Gracias
  #3 (permalink)  
Antiguo 24/05/2005, 10:09
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
mm Las conexiones por "sockets" son así .. puedes otorgar un tiempo de "time out" .. es decir, determinar que si trasncurrido X segundos no hay respuesta .. determinas que no se ha podido acceder a dicho URL.

En ese caso y para esa comprobación .. deberías usar fsockopen() y funciones afines para poder controlar ese socket abierto (o http://www.php.net/sockets)

Un saludo,
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 22:50.