Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sprawdzanie linków
chmolu
post
Post #1





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 8.10.2004

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


Napisałem mały skrypcik, który sprawdza, czy podany URL jest poprawny. Kod odpytuje serwer i na podstawie zwróconego nagłówka stwiedza, czy adres istnieje. Coś jednak schrzaniłem, bo czasem dostaję błąd 404, 403 i inne nawet, gdy strona rzeczywiście istnieje. Oto kod:

  1. <?php
  2. class URLExistsRule extends Rule {
  3. public function isValid($field) {
  4. $url = parse_url($field);
  5.  
  6. if ($fp = @fsockopen($url['host'], 80, $errno, $errstr, 30)) {
  7. $page = $url['path'];
  8. $page .= !empty($url['query']) ? '?' . $url['query'] : '';
  9.  
  10. @fputs($fp, "HEAD " . $field . " ". "HTTP/1.0rnHost: " . $url['host'] ."rnrn");
  11. $response = @fgets($fp, 1024);
  12. if (!$response) {
  13. @fclose($fp);
  14. return false;
  15. }
  16.  
  17. if(eregi("200 OK", $response) || eregi("302 Found", $response)) {
  18. @fclose($fp);
  19. return true;
  20. }
  21. @fclose($fp);
  22. }
  23. return false;
  24. }
  25. }
  26. ?>


Co może być źle?
Go to the top of the page
+Quote Post

Posty w temacie
- chmolu   Sprawdzanie linków   13.01.2006, 21:17:42


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: 22.08.2025 - 19:50