Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pobieranie _fragmentu_ strony
Zajec
post
Post #1





Grupa: Zarejestrowani
Postów: 1 086
Pomógł: 8
Dołączył: 10.12.2003

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


Jest sobie pewien plik w internecie, którego zawartość chciałbym pobrać. Dajmy na to ogromny changelog kernela.

Pobierając plik standardowymi metodami: file, fsockopen, curl - pobieram całą zawartość pliku. A mi zależy tylko na jego nagłówku, pierwszych 10 linijkach. Szkoda mi czasu i transferu na pobieranie 3MB zbędnego tekstu.

Czy można to jakoś obsłużyć? Pobranie 10 linijek a potem przerwanie połączenia?

P.S.
Chodzi mi również o funkcję która będzie działać szybko, bo mam kilkanaście dużych plików do pobrania w krótkim czasie. Z tego co wiem funkcje file czy filegetcontents nie są przystosowane wydajnościowo do obsługi http.

Ten post edytował Zajec 12.06.2007, 13:12:01
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
mike
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Otwierasz normalnie fopen() lecisz pętlą while (+ feof()) i czytasz po ileś bajtów fgets().
Jak natrafisz na dziesiąty z kolei znak końca linii robisz break; i olewasz dalszy plik.

P.S.
Ponieważ file_get_contents() i file() wczytują cały plik od razu.
fopen() działa na strumieniach.
Go to the top of the page
+Quote Post
superfrajer
post
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 14.05.2007

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


i fclose() na koniec jako amen
Go to the top of the page
+Quote Post
Sokal
post
Post #4





Grupa: Zarejestrowani
Postów: 237
Pomógł: 1
Dołączył: 8.02.2007

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


[OT]Ten komentarz jest chyba zbędny, ale...

@up
Po poście mike w temacie o frameworkach będziesz teraz udowadniał, że nie jesteś taki frajer (sry)? I będziesz gdziekolwiek pisał posty aby pisać? Ten Twój post tutaj jest zbędny, sądzę, że Zajec zna te funkcje ... Tylko się pytał o koncepcję.

@down
przeczytaj pierwszą linijkę tego co napisałem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) [/OT]

Ten post edytował Sokal 12.06.2007, 18:04:00
Go to the top of the page
+Quote Post
webdice
post
Post #5


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Ja bym wykorzystał do tego drugi parametr funkcji fread" title="Zobacz w manualu PHP" target="_manual, oczywiście nie zawsze będziesz wiedział ile znaków ma nagłówek, ale pobierasz sobie więcej danych, a później to ładnie obrabiasz.

~Sokal Twój post też był nie potrzebny (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Takie teksty zostaw moderatorom (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) .
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 15.09.2025 - 18:14