Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] fsockopen(), Nagłówki czy tekst?
Babcia@Stefa
post
Post #1





Grupa: Zarejestrowani
Postów: 654
Pomógł: 17
Dołączył: 19.03.2006
Skąd: z kosmosu ;)

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


Witam, jak rozpoznać która linijka odpowiedzi z serwera jest nagłówkiem czy zawartością pliku/strony?

  1. <?php
  2. while (!feof($this->Connection['socket'])) {
  3. $response_line = fgets($this->Connection['socket'], 2048);
  4.  
  5. if(stristr('\n', substr($response_line, 0, strlen($response_line))))
  6. $response_headers [] = $response_line;
  7. else
  8. $response_text .= $response_line;
  9. }
  10. ?>


Próbowałem za pomocą substr($response_line, strlen($response_line), strlen($response_line)-4) == '\r\n') i nie działało, a więc użyłem testowo stristr - dalej nic (IMG:http://forum.php.pl/style_emoticons/default/ohmy.gif) .

Dziękuję, Babcia@Stefa
Go to the top of the page
+Quote Post
netmare
post
Post #2





Grupa: Zarejestrowani
Postów: 285
Pomógł: 37
Dołączył: 18.12.2007
Skąd: Łódź

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


A w jakim protokole? W HTTP nagłówek kończy się "\r\n\r\n", więc najłatwiej $offset=strpos($odpowiedz,"\r\n\r\n"), i nagłówek masz do offset +4, a dalej treść, a jak chcesz się bawić w odczytywanie linii, to sprawdzasz czy trim($linia)=='' i do pierwszego wystąpienia jest nagłówek, a po tym treść. Uważaj na transfer-encoding:chunked (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
Babcia@Stefa
post
Post #3





Grupa: Zarejestrowani
Postów: 654
Pomógł: 17
Dołączył: 19.03.2006
Skąd: z kosmosu ;)

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


Zanim odpowiedziałeś wykombinowałem coś takiego:

  1. <?php
  2. if(eregi('[^*]:[^*]', $response_line) OR substr($response_line, 0, 5) == 'HTTP/')
  3. ?>


Ale to jest tymczasowe bo może być w kodzie strony np.
  1. <br/>Test: tak
  2. <br/>Test2: nie


Pozdrawiam, Babcia@Stefa

Ten post edytował Babcia@Stefa 8.05.2008, 16:16:37
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: 23.08.2025 - 08:18