📖
원격지 이미지(외부 URL에 있는 이미지)가 존재하는지 확인하는 PHP 함수

페이지 정보

본문

get_headers() 함수를 사용하여 HTTP 응답 상태 코드를 확인하는 방법이 일반적입니다.

📌 PHP 함수: 원격지 이미지 확인[code]function remoteImageExists($url) {
    $headers = @get_headers($url);

    if ($headers && strpos($headers[0], '200') !== false) {
        return true;  // 이미지가 존재함
    }

    return false;  // 이미지가 존재하지 않음
}

// 사용 예시
$imageUrl = "https://example.com/image.jpg";
if (remoteImageExists($imageUrl)) {
    echo "이미지가 존재합니다.";
} else {
    echo "이미지가 존재하지 않습니다.";
}[/code]
✅ 코드 설명
get_headers($url): 주어진 URL의 HTTP 응답 헤더를 가져옴.
@ 연산자: get_headers() 실행 중 발생할 수 있는 경고를 무시.
strpos($headers[0], '200') !== false
응답 헤더의 첫 번째 줄($headers[0])에 "200"이 포함되었는지 확인.
"200 OK"는 이미지가 정상적으로 존재함을 의미.
💡 추가 개선: curl을 사용한 방법
네트워크 요청이 많은 경우, cURL을 이용하면 더 정밀한 검사와 속도 개선이 가능합니다.[code]function remoteImageExistsCurl($url) {
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_NOBODY, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 5);
    curl_exec($ch);
   
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
   
    return ($httpCode == 200);
}

// 사용 예시
$imageUrl = "https://example.com/image.jpg";
if (remoteImageExistsCurl($imageUrl)) {
    echo "이미지가 존재합니다.";
} else {
    echo "이미지가 존재하지 않습니다.";
}[/code]이 방법은 HTTP 리디렉션을 따라갈 수 있으며, CURLOPT_TIMEOUT을 설정하여 응답 시간이 너무 긴 경우 타임아웃을 적용할 수 있습니다.

댓글목록

등록된 댓글이 없습니다.


🔍 검색

회사소개 개인정보처리방침 서비스이용약관
Copyright © rainbowgarden.shop All rights reserved.