- 정보공유
[PHP] 소켓으로 url 존재 여부 확인.
- 작성일
- 14-05-30 10:08
- 조회수
- 35,073 건
- 댓글
- 0 건
function url_exists($url) {
$url = str_replace("http://", "", $url);
if (strstr($url, "/")) {
$url = explode("/", $url, 2);
$url[1] = "/".$url[1];
} else {
$url = array($url, "/");
}
$fso = fsockopen($url[0], 80);
if ($fso) {
fputs($fso, "GET ".$url[1]." HTTP/1.1\nHost:".$url[0]."\n\n");
$gets = fgets($fso, 4096);
fclose($fso);
if (preg_match('/^HTTP\/.* 200 OK/',$gets)){
return TRUE;
} else {
return FALSE;
}
} else {
return FALSE;
}
}
덤으로.. https 일경우 처리를 위한 조건절이다.
switch ($url_info['scheme']) {
case 'https':
$scheme = 'ssl://';
$port = 443;
break;
case 'http':
default:
$scheme = '';
$port = 80;
}