Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] skrypt nie otwiera zadnego pliku za pomocą fopen, za wyjątkiem ostatniego na liście
kristoff
post
Post #1





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 5.04.2006

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


Witam
Chcę utworzyć skrypt który bedzie sprawdzał czy mój link znajduje się na jakiejś stronie. Niestety występuje dziwny błąd - pojawiają się warningi że nie może wykonać polecenia fopen (failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in ) w stosunku do wszystkich stron znajdujących się w pliku linki.txt za wyjątkiem ostatniej strony. Czyli nie otwiera np pięciu stron i otwiera tylko ostatnią szóstą przy czym jesli tą szóstą się zamieni miejscami i umieści np na pierwszym miejscu do sprawdzenia to dalej pisze że nie może otworzyć pierwszych pięciu i otwiera tylko ostatnią.

plik linki.txt składa się z kolejnych linii wypełnionych parami:
mój link##strona dosprawdzenia

całość skryptu to:
  1. <?php
  2. $ft=fopen("linki.txt", "r");
  3. while(!feof($ft)) 
  4. {
  5. $linijka=fgets($ft);
  6. $stos=array();
  7. $stos=explode("##", $linijka);
  8.  
  9. $adres_parts=parse_url($stos[1]);
  10. if($dostepnosc=fsockopen($adres_parts[host], 80, $errno, $errstr,30))
  11. {
  12. /* pobieramy tresc strony na ktorej powinien znajdowac sie nasz link */
  13.  
  14. echo "<br>$stos[1]<br>";
  15.  
  16. if($fo=fopen($stos[1], "r"))
  17. {
  18.  
  19. /* pobieramy kolejno po jednej linii kod strony na ktrorej powinien byc nasz link
     */
  20. while(!feof($fo))
  21. {
  22. $linia=fgets($fo);
  23. if($wynik=eregi("$stos[0]", $linia))
  24. {
  25. echo "nasz link jest obecny na stronie $stos[1] - <b><font color='green'>OK</font></b>";
  26.  
  27. } 
  28. if($wynik==TRUE) break;
  29.  
  30. }
  31. if($wynik<>"1") echo "nie znaleziono naszego linka na stronie $stos[1]";
  32.  
  33. } else 
  34. {
  35. echo "nie mozna pobrac strony $stos[1]";
  36. }
  37.  
  38. } else {
  39. /* jesli host na ktorym powinien byc nasz link jest nieosiagalny wyswietlamy komu
    nikat */
  40. echo 'host: <b>$adres_parts["host"] jest w tej chwili nieosiagalny</b>';
  41. }
  42.  
  43. }
  44. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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 - 15:09