Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobranie typu strony
Forum PHP.pl > Forum > PHP
markonix
Witam.

Czy jesteś jakiś sposób na pobranie typu strony znajdującej się pod danym url'em?
Coś jak zdeprecjonowane mime_content_type, którego niestety działanie ogranicza się do plików na domenie.

Generalnie chodzi mi o wykrycie czy pod linkiem $url znajduje się obraz czy strona czy też nic (błędny link).
Wykrywanie tego po rozszerzeniu pliku (np .gif) jest jak dla mnie co najmniej złym pomysłem bo wyklucza p. generowane obrazy za pomocą php i jest to sztywne rozwiązanie.
Noidea
cURL, pobierasz nagłówki zwracane przez serwer (opcje CURLOPT_HEADER, CURLOPT_NOBODY) i sprawdzasz status code żeby sprawdzić czy pod linkiem coś jest. Jeśli jest, to szukasz w nagłówkach Content-Type i masz mime.
W większości wypadków serwer powinien wysyłać poprawne mime, ale 100% pewności nie ma
markonix
  1.  
  2. $ch = curl_init();
  3. curl_setopt($ch, CURLOPT_URL, "http://forum.php.pl")
  4. curl_setopt($ch, CURLOPT_HEADER, 1);
  5.  
  6. $string = curl_exec($ch);
  7.  
  8. curl_close($ch);
  9.  


Pod $string mam wtedy faktycznie ładny nagłówek, a potem cały kod strony.
Czy da się to jakoś ładniej zrobić żeby do string przypisać tylko nagłówek?
I pytanko: czy potem zostają tylko wyrażenia regularne czy nagłówek może zostać zwrócony np. w formie tablicy?
lukaskolista
co Wy tak z tym cURL? Po kija korzystac z czegos takiego, skoro php ma wbudowana funkcje?
http://php.net/manual/en/function.get-headers.php
markonix
Faktycznie o wiele lepsze rozwiązanie.
Wyraźnie szybsze no i zwraca ładnie tablice.
Dzięki.
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.