트래픽 초과시 이미지 경로를 바꿀수 있나요?
본문
<img src="http://abc.com/test.jpg"> 라는 식으로 이미지를 cdn에서 불러오고 있습니다.
cdn이 혹시 트래픽 초과가 돼버리면 이미지가 안뜰텐데요, 이럴경우 웹ftp에 test.jpg 같은 파일을 올려두고
cdn에서 불러오는 이미지가 에러일 경우 img src= 의 경로를 바꿀수있나요?
cdn이 정상일때 <img src="http://abc.com/test.jpg">
cdn 트래픽 초과시 <img src="/test.jpg"> 같은 식으로 앞에 cdn 주소를 날려버리고 싶습니다.
jquery로 비슷한 기능을 하는걸 찾긴 했는데, 이건 각각의 이미지 src 를 하나하나 바꿔줘야 하더라구요.
어떤 방법이 있는지 궁금합니다.
답변 2
<img src="이미지" onerror=this.src="대체할 이미지 경로">
$img_url = 'http://abc.com/test.jpg';
$ch = curl_init($img_url);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_exec($ch);
$results = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($results == 200) {
//파일이 있는 경우 원하는 코드 실행
echo '<img src="http://abc.com/test.jpg">';
} else {
//파일이 없는 경우 원하는 코드 실행
echo '<img src="./test.jpg">';
}
curl_close($ch);
같은 서버에 있으면 file_exists('./test.jpg') 와 같은 식으로 할 수 있을텐데
다른 서버에 있어서 url로는 불가능 합니다.
위와 같이 복잡하지만 컬로 하면 작동 합니다. !-->
답변을 작성하시기 전에 로그인 해주세요.