Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: franfis en 12 Marzo 2014, 18:42 pm



Título: esperar a la función fopen
Publicado por: franfis en 12 Marzo 2014, 18:42 pm
hola amigos, ¿como podría esperar? a que la función fopen($url,"r") abra totalmente el recurso de internet $url ya que como la ejecución es muy rápida no espera.

Muchas gracias a cualquier sugerencia.  ::)


Título: Re: esperar a la función fopen
Publicado por: engel lex en 12 Marzo 2014, 21:33 pm
fopen no carga paginad a medias o algo hasta donde se, el crea solo un puntero al archivo o pagina solicitada, cómo estás obteniendo los datos?


Título: Re: esperar a la función fopen
Publicado por: franfis en 12 Marzo 2014, 23:31 pm
Este es el código:
Código:
for ($i=0;$i<20;$i++){
  $url=$array[$i];
  $Flu = fopen($url,"r") or die("Problemas en el URL");
 
  while (!feof($Flu)){
    $linea = fgets($Flu);
    echo $linea;
  }}
Cuando lo ejecuto solo imprime una parte de cada contenido no la totalidad, que debo hacer para que imprima todo el contenido de cada uno.

Graciass


Título: Re: esperar a la función fopen
Publicado por: engel lex en 13 Marzo 2014, 00:18 am
1- estás imprimiendo una pagina dinámica que tal vez esté detectando navegador o necesite jscript para generar contenido?

2- que pagina estás intentado imprimir?

3- el código no te está retornando ningún error? (chequeaste el código fuente?)

porfa de ser posible responder todas


Título: Re: esperar a la función fopen
Publicado por: franfis en 13 Marzo 2014, 00:50 am
No hay problema con la url ya lo probé uno a uno, me parece que estoy sobrescribiendo la variable $Flu o no se.

Porque es imposible imprimir todo a la misma velocidad de la ejecución ya que tiene que leer de internet es por eso de que mi idea es de esperar a que termine de leer la primera y seguir con la segunda...etc etc. Entonces el resultado que estoy obteniendo es muy obvio.

El código no tiene ningún error.


Título: Re: esperar a la función fopen
Publicado por: engel lex en 13 Marzo 2014, 00:56 am
el normalmente en fgets se detiene a esperar toda la info, puedes intentar con file($url) que sin más lineas de código te da un array que contiene cada una de las lineas del archivo.... puedes hacer algo así

Código
  1. $FLu = file($url);
  2. foreach ($FLu as $linea)
  3.    echo $linea;
  4.  


Título: Re: esperar a la función fopen
Publicado por: franfis en 13 Marzo 2014, 01:25 am
Gracias, lamentablemente el resultado es exactamente el mismo. Creo el problema esta en alguna variable sobrescrita.


Título: Re: esperar a la función fopen
Publicado por: engel lex en 13 Marzo 2014, 01:27 am
yo creo que en realidad el problema es algo en la pagina, revisaste tu código fuente? analizaste a ver si es que se cargó mal y el navegador no lo muestra?


Título: Re: esperar a la función fopen
Publicado por: franfis en 13 Marzo 2014, 02:58 am
Tienes toda la razón engelx, se detiene en fgets  a esperar toda la info. Te ofrezco mis disculpas por hacerte trabajar en vano.

Mi error estaba en la url como decias, ya que era una mezcla de cadenas y variables, había un punto por demás.  Me di cuenta haciendo un echo $url.

Graciass y saludos



Título: Re: esperar a la función fopen
Publicado por: engel lex en 13 Marzo 2014, 03:10 am
 :P no hay problema jeje me ha pasado XD por eso te decia... en mi caso fue porque un js con ajax generaba buena parte del site :P