Funkcja, która wykorzystuje rozszerzenie PHP cURL, aby sprawdzić czy na podanej stronie występuje przekierowanie 301 lub 302 – czasami przydatne do sprawdzenia. Oto kod:
function check_redirection( $url )
{
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_HEADER, true );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );$data = curl_exec( $ch );
list( $headers, $data ) = explode( „\n\n”, $data, 2 );
$code = curl_getinfo( $ch, CURLINFO_HTTP_CODE );
if( in_array( $code, array( 301, 302 ) ) )
{
preg_match(‚/Location:(.*?)\n/’, $headers, $matches);
return $matches[1];
}return $url;
}
Funkcja pobiera stronę i interesują ją głównie nagłówki ( headers ). cURL umożliwia sprawdzenie statusu odpowiedzi otrzymanej ze strony, do której się połączył. Więc jeśli kod odpowiedzi był 301 lub 302 to funkcja sprawdza na jaką stronę nastąpiło przekierowanie. Jeśli wystąpił inny kod to funkcja zwraca podany przez argument URL.