Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Odczytywanie pliku tylko przez kilka sekund
Zwariowany
post
Post #1





Grupa: Zarejestrowani
Postów: 201
Pomógł: 0
Dołączył: 6.01.2009

Ostrzeżenie: (20%)
X----


Czy da się stworzyć skrypt, który odczyta plik, a jeżeli nie załaduje się on np w 10 sekund to przestaje go ładować?

pozdrawiam


--------------------
Go to the top of the page
+Quote Post
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Ja robiłem coś takiego curl-em i dodawałem do niego opcje CURLOPT_TIMEOUT ( http://php.net/curl_setopt )
, ponieważ file_get_contents + ini_set('default_socket_timeout') nie działało, lecz nie próbowałem zastąpić file_get_contents funkcja fopen ale ty to możesz zrobic i nam powiedzieć smile.gif


--------------------
Go to the top of the page
+Quote Post
Zwariowany
post
Post #3





Grupa: Zarejestrowani
Postów: 201
Pomógł: 0
Dołączył: 6.01.2009

Ostrzeżenie: (20%)
X----


a nie znacie jakieś prostszej metody? programuje w php od ponad roku, a tej funkcji nie znam i nie wiem zbytnio jak zastosować smile.gif


--------------------
Go to the top of the page
+Quote Post
wookieb
post
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




To są własnie najprostsze metody.


--------------------
Go to the top of the page
+Quote Post
Zwariowany
post
Post #5





Grupa: Zarejestrowani
Postów: 201
Pomógł: 0
Dołączył: 6.01.2009

Ostrzeżenie: (20%)
X----


i załóżmy, że chciałbym zrobić require onet.pl, a on długo się ładuje (powyżej np.10 sekund), to wtedy skrypt nic nie wyświetla i przestaje ładować onet.pl. To funkcja wykona takie coś?


--------------------
Go to the top of the page
+Quote Post
wookieb
post
Post #6





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Tak. Ale pamietaj ze skrypt sprobuje pobrac TYLKO html z adresu http://onet.pl a nie bedzie pobierał obrazków itd.

Ten post edytował wookieb 22.06.2009, 15:09:28


--------------------
Go to the top of the page
+Quote Post
Zwariowany
post
Post #7





Grupa: Zarejestrowani
Postów: 201
Pomógł: 0
Dołączył: 6.01.2009

Ostrzeżenie: (20%)
X----


  1. <?php
  2. curl_setopt($ch, CURLOPT_URL, 'http://onet.pl/'); 
  3. $strona = curl_exec($ch);
  4. ?>


I co teraz bym musiał zrobić żeby strona onet.pl się wyświetliła i te 10 sekund jak ustawić ( czy automatycznie się ustawia? ) questionmark.gif


--------------------
Go to the top of the page
+Quote Post
wookieb
post
Post #8





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Cytat(wookieb @ 22.06.2009, 15:58:48 ) *
Ja robiłem coś takiego curl-em i dodawałem do niego opcje CURLOPT_TIMEOUT ( http://php.net/curl_setopt )

Udajesz czy serio nie rozumiesz co sie do ciebie mówi?
Poza tym zapraszam do kursu curl http://wortal.php.pl/phppl/wortal/artykuly...i_protokol_http

Ten post edytował wookieb 22.06.2009, 15:16:52


--------------------
Go to the top of the page
+Quote Post
Zwariowany
post
Post #9





Grupa: Zarejestrowani
Postów: 201
Pomógł: 0
Dołączył: 6.01.2009

Ostrzeżenie: (20%)
X----


  1. <?php
  2. $ch = curl_init();
  3.  
  4. curl_setopt($ch, CURLOPT_URL, "http://onet.pl/");
  5. curl_setopt($ch, CURLOPT_HEADER, false);
  6.  
  7. curl_exec($ch);
  8.  
  9. curl_close($ch);
  10. ?>


Takie coś mam, i teraz pytanie jak wyświetllić plik, żeby to po prostu zrobiło jakby require względem onet.pl


--------------------
Go to the top of the page
+Quote Post
PawelC
post
Post #10





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

Ostrzeżenie: (0%)
-----


  1. <?php
  2. $wynik=curl_exec($ch);
  3. echo $wynik // lub print_r($wynik);
  4. ?>

A gdzie masz ustawienie limitu czasu o którym mówił Ci wookieb, czyli
  1. <?php
  2. curl_setopt($ch, CURLOPT_TIMEOUT, 10);
  3. ?>

Tu gdzie jest 10 ustawisz limit czasu.

Ten post edytował ExPlOiT 22.06.2009, 15:30:30
Go to the top of the page
+Quote Post
Zwariowany
post
Post #11





Grupa: Zarejestrowani
Postów: 201
Pomógł: 0
Dołączył: 6.01.2009

Ostrzeżenie: (20%)
X----


Exploit

taki skrypt:

  1. <?php
  2. $ch = curl_init();
  3.  
  4. curl_setopt($ch, CURLOPT_URL, "http://onet.pl/");
  5. curl_setopt($ch, CURLOPT_HEADER, false);
  6. curl_setopt($ch, CURLOPT_TIMEOUT, 10);
  7.  
  8. $wynik=curl_exec($ch);
  9.  
  10. echo $wynik;
  11.  
  12. curl_close($ch);
  13. ?>


wywala jedynie w linku: onet.pl i poza linkiem liczbę 1. A mi chodzi żeby wywalał kod onetu.


--------------------
Go to the top of the page
+Quote Post
PawelC
post
Post #12





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

Ostrzeżenie: (0%)
-----


Faktycznie zamiast wczytać kod to wywalał link do onetu. Zobacz tak:
  1. <?php
  2. $ch = curl_init('http://www.onet.pl/');
  3. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
  4. curl_setopt($ch, CURLOPT_HEADER, false);
  5. curl_setopt($ch, CURLOPT_TIMEOUT, 10);
  6. $wynik=curl_exec($ch);
  7. echo $wynik;
  8. curl_close($ch);
  9. ?>


Ten post edytował ExPlOiT 22.06.2009, 15:41:23
Go to the top of the page
+Quote Post
Zwariowany
post
Post #13





Grupa: Zarejestrowani
Postów: 201
Pomógł: 0
Dołączył: 6.01.2009

Ostrzeżenie: (20%)
X----


Powiedzcie mi teraz jedną rzecz. Jak teraz serwer będzie coś wczytywał, a to będzie się baaardzo długo wczytywało to serwer to oleje tak?


--------------------
Go to the top of the page
+Quote Post
PawelC
post
Post #14





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

Ostrzeżenie: (0%)
-----


Po 10 sekundach przerwie działanie smile.gif
Zgodnie z czasem który jest tu podany:
  1. <?php
  2. curl_setopt($ch, CURLOPT_TIMEOUT, 10);
  3. ?>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 05:02