Witam,
Napisałem prosty skrypt, który sprawdza dostępność adresu www:
{ if (preg_match('/przepraszamy/ims',$nazwa)) { echo "<span style='color:#ff0000'> blad </span><br/>"; } }
W linku który jest parametrem występuje przekierowanie 301 i
zwraca pusty wynik jednak, jakoś preg_match widzi jego zawartość,
gdyż jeśli na stronie występuje słowo 'przepraszamy' identyfikuje stronę jako niedziałająca, a jeśli go nie ma jako działającą.
Byłoby ok, ale część stron zwraca status 404 i dlatego postanowiłem dodać po preg_match regułkę:
, czyli mamy coś takiego:
{ if (preg_match('/przepraszamy/ims',$nazwa) || empty($nazwa)) { echo "<span style='color:#ff0000'> blad </span><br/>"; } }
Niestety po dodaniu tej reguły skrypt identyfikuje wszystkie strony jako błąd (jak mówiłem wcześniej echo $nazwa = file_get_contents($i); zwraca pusty wynik, więc niby pasuje, że zwraca błąd, ale
preg_match jakoś widzi wszystko)
Rozwiązaniem jest np. zastąpienie empty($nazwa)) czymś co rozpozna, że dana strona ma status 404.
Jak to można wykonać ?
P.S. Dlaczego mimo że $nazwa teoretycznie jest pusta, preg_match widzi jej zawartość i działa na niej ?
?>