Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Funkcja sprawdzjąca czy działa link
Forum PHP.pl > Forum > PHP
kilofmar
Witam
Czy jest jakiś sposób lub jakaś funkcja która sprawdzi czy wczytuje sie strona zanim użytkownik kliknie na link.

np. gdyby nie dało sie otworzyć strony pod adresem www.pierwsza.pl to niech spróbuje wczytać stronę www.druga.pl
marcio
Laczysz sie ze strona za pomoca fsockopne() i jesli zwroci ci polaczenie to jest aktywna w przecuwnym wypadku wybierasz nastepna www.marcio.szu.pl tu masz taki maly przyklad ze stronami ON/OFF
kilofmar
  1. <?php
  2. $adres = fsockopen("pierwszelozdwola.ath.cx", 80, $errno, $errstr, 30);
  3.  
  4. if(!$adres){ echo " <br> <a href=\"http://10.0.1.1/dziennik/index.php\" class=\"unilodz\"><b>E-DZIENNIK</b></a>";
  5. } else {echo "<br> <a href=\"http://pierwszelozdwola.ath.cx/dziennik/index.php\" class=\"unilodz\"><b>E-DZIENNIK</b></a>";}
  6. ?>


Stworzyłem coś takiego ale zawsze tą drugą opcje mi wstwia nawet jak wymyśle adres z kosmosu .
Może jest jeszcze inny sposób ?
GrayHat
Cytat(kilofmar @ 2.06.2008, 16:43:57 ) *
if(!$adres){ echo " <br> <a href=\"http://10.0.1.1/dziennik/index.php\" class=\"unilodz\"><b>E-DZIENNIK</b></a>";


napewno chciales uzyc negacji?
kilofmar
A jak można inaczej skonstruować warunek lub sprawdzić co zwróciła funkcja fsockopen, bo nie znam tej fucji.
marcio
  1. <?php
  2. function sprawdz($adres) {
  3.  
  4. if($fp = @fsockopen($adres, 80, $errno, $errstr, 30)) {
  5. $wynik = "ON";
  6. fclose($fp);
  7. } else {
  8. if($fp = @fsockopen($adres, 80, $errno, $errstr, 30)) {
  9. $wynik = "ON";
  10. fclose($fp);
  11. } else {
  12. $wynik = "OFF";
  13. }
  14. }
  15. return $wynik;
  16. }
  17. ?>

I potem dajesz warunek

Np tak
  1. <?php
  2. $strona = sprawdz('www.google.pl');
  3. if($strona == 'ON') echo('link jak dziala strona'); else echo('Link jesli strona nie dziala');
  4. ?>
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.