Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pętla for i file_get_contents() ...
Forum PHP.pl > Forum > Przedszkole
PrzeoR
Witam,

Mam taką pętlę, ale za każdym razem url.com jest inny.

Jak zrobić, żeby maxymalny czas pobierania url-u trwał 10 sek. i jezeli czas jest dłuższy to pętla omija tą pętle i przechodzi do następnej (następnego url)?

  1. <?php
  2.  for ($n=0; $n<2000; $n++)
  3.  {
  4.  $now_keyword_input1 = @file_get_contents("http://www.url.com");
  5.  
  6. }
  7. ?>


Jest jakaś funkcja na to, lub coś innego?

pozdrawiam
Wave
Napisz własną funkcję, użyj time().
Ociu
  1. <?php
  2. $start = time();
  3. for ($n=0; $n<2000; $n++)
  4. {
  5.  $now_keyword_input1 = @file_get_contents("http://www.url.com");
  6. if(time() - $start < 10) continue;
  7. }
  8.  
  9. # inne instrukcje
  10. ?>
PrzeoR
Cytat(Ociu @ 2006-01-27 15:13:21)
  1. <?php
  2. $start = time();
  3. for ($n=0; $n<2000; $n++)
  4. {
  5.  $now_keyword_input1 = @file_get_contents("http://www.url.com");
  6. if(time() - $start < 10) continue;
  7. }
  8.  
  9. # inne instrukcje
  10. ?>

Witam,

No ale jak to mozna zrobić, bo wg. mnie jezeli funkcja bierze file content to nie moge w tym samym czasie zrobic zeby, skrypt mogl sprawdzac czas ile trwa pobieranie pliku?

Jezeli się myle to prosze mnie poprawić. Chyba ze sie da zrobic ze skrypt robi 2 rzeczy naraz ... Moze jest jakiś timeout ^^ ?

Pozdrawiam
crash
Na tą chwilę nie ma chyba opcji kontroli czasu limitu dostępu w funkcjach tego typu. Szukałem teraz odpowiedniej opcji w kontekstach (stream_context_create), ale niestety jeszcze na coś takiego nie wpadli. Może w przyszłej wersji php.
dtb
moze sprobuj pobierac zawartosc znak po znaku i po kazdy znaku sprawdzaj czas - pojedeynczy znak raczej pobiera chwile
~EDIT: http://pl.php.net/manual/pl/function.fgetc.php
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.