Информационные технологииStfw.Ru 🔍

Функция проверки ссылок

На днях пришлось написать мне функцию проверки ссылок для своего портала. Спешу поделиться с Вами...
🕛 06.12.2006, 13:49
function url_valid($url) 
{ 
if(!ereg("^<a href="http://" target="_blank">http://</a>",$url)) 
$url="http://".$url; 
$urlarray = parse_url($url); 

if (!$urlarray[port]) { 
if ($urlarray[scheme] == 'http') { $urlarray[port] = 80; } 
elseif ($urlarray[scheme] == 'https') { $urlarray[port] = 443; } 
elseif ($urlarray[scheme] == 'ftp') { $urlarray[port] = 21; } 
} 

if (!$urlarray[path]) { $urlarray[path] = '/'; } 

$errno=""; 
$errstr=""; 
$fp = @fsockopen ($urlarray[host].'.', $urlarray[port], &$errno, &$errstr , 10); 

$sstatus = "ok"; 

if (!$fp) 
return false; 

$req=sprintf( "head %s http/1.0\r\nhost: %s\r\n\r\n", $urlarray[path], $urlarray[host]); 
fputs( $fp, $req ); 

while (!feof($fp)) 
{ 
$line = fgets($fp,1000); 

if( eregi( "http/1.(.) ([0-9]*) (.*)", $line, $parts ) ) 
{ 
if( $parts[2] < "400" ) 
{ 
fclose($fp); 
return true; 
} 
else 
{ 
fclose($fp); 
return false; 
} 
} 
} 

fclose($fp); 
return false; 
} 

Результатом выполнения данной функции будет либо значение true (если ссылка рабочая) либо значение flase (если ссылка битая).

PHP   Теги:

Читать IT-новости в Telegram

Читайте также:

Каталог ссылок в примерах

Информационные технологии
Мы в соцсетях ✉