Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przekierowanie na sprawny serwer
Forum PHP.pl > Forum > PHP
bok
Witam
Jak można zrobić taki skrypt aby przekierowywał na sprawny serwer np:
Wchodzisz na adres www.costam.pl/cos i sprawdza czy serwer 1 czyli np. www.wp.pl jest sprawny (wyświetla się strona) jeśli nie to sprawdza serwer 2 np. www.onet.pl jeśli jest on sprawny to wyświetla stronę, ale jeśli nie to uruchamia plik error.php
nospor
  1. <?php
  2.  
  3. $fp = fsockopen(&#092;"www.wp.pl\", 80, $errno, $errstr, 30);
  4. if ($fp) {
  5.  fclose($fp);
  6.  header('Location: www.wp.pl');
  7.  exit;
  8. }
  9. $fp = fsockopen(&#092;"www.onet.pl\", 80, $errno, $errstr, 30);
  10. if ($fp) {
  11.  fclose($fp);
  12.  header('Location: www.onet.pl');
  13.  exit;
  14. }
  15. header('Location: error.php');
  16.  exit;
  17.  
  18. ?>
bok
A jak mozna jeszcze zrobić aby losował serwer?
strife
Cytat(bok @ 2005-08-07 15:35:47)
A jak mozna jeszcze zrobić aby losował serwer?

Listę serwerów trzymaj w tablicy a potem rand" title="Zobacz w manualu PHP" target="_manual.
dexter_m
Cytat
Listę serwerów trzymaj w tablicy a potem rand.


Bardziej polecam array_rand

pozdrawiam, dexter. smile.gif
bok
a tak jaśniej questionmark.gif worriedsmiley.gif
Pigula
masz tablice z adresami uzywasz tych funkcji (opisane sa w manualu) jak zwroci ci wynik ktory jest adresem serwera to robisz przekierowanie tyle
bok
Teraz mam takie coś:

  1. <?php
  2.  
  3. $arrSerwery = array('http://www.wp.pl', 'http://www.onet.pl');
  4. $rand = array_rand($arrSerwery, 1);
  5. $serwer = $arrSerwery[$rand];
  6.  
  7. $fp = fsockopen("$serwer", 80, $errno, $errstr, 30);
  8. if ($fp) {
  9.    fclose($fp);
  10.    header('Location: ' . $serwer . ');
  11.    exit;
  12. }
  13. header('Location: error.php');
  14. exit;
  15.  
  16. ?>


Ale wywala taki błąd:

Kod
Parse error: syntax error, unexpected T_STRING in F:\SERVER\WWW\a.php on line 14


Co tu jest żle?

A jak zmienie:
Kod
header('Location: ' . $serwer . ');

na to:
Kod
header('Location: $serwer');

To cały zcas wyświetla tą stronę error.php
n1k3r
Cytat(bok @ 2005-08-08 14:50:20)
Teraz mam takie coś:

  1. <?php
  2.  
  3. $arrSerwery = array('http://www.wp.pl', 'http://www.onet.pl');
  4. $rand = array_rand($arrSerwery, 1);
  5. $serwer = $arrSerwery[$rand];
  6.  
  7. $fp = fsockopen("$serwer", 80, $errno, $errstr, 30);
  8. if ($fp) {
  9.  fclose($fp);
  10.  header('Location: ' . $serwer . ');
  11.  exit;
  12. }
  13. header('Location: error.php');
  14. exit;
  15.  
  16. ?>


Ale wywala taki błąd:

Kod
Parse error: syntax error, unexpected T_STRING in F:\SERVER\WWW\a.php on line 14


Co tu jest żle?

A jak zmienie:
Kod
header('Location: ' . $serwer . ');

na to:
Kod
header('Location: $serwer');

To cały zcas wyświetla tą stronę error.php

  1. <?php
  2.  
  3.  header('Location: ' . $serwer . ');
  4.  
  5. ?>

w lini 11 nie został zamknięty jeden apostrof

Pozdrawiam;
nospor
poczytaj se o łączeniu stringów. ma byc: header('Location: ' . $serwer);

pozatym wywala ci error bo sie z serwerem nie laczy. powywalaj te http://

edit: zreszta nie wywalaj. dziala i z tym biggrin.gif
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.