테스트 사이트 - 개발 중인 베타 버전입니다

트래픽 초과시 이미지 경로를 바꿀수 있나요? 채택완료

brocolly 2년 전 조회 2,219

<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개

채택된 답변
+20 포인트
2년 전

<img src="이미지" onerror=this.src="대체할 이미지 경로">

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

</p>

<p>$img_url = '<a href="http://abc.com/test.jpg';" target="_blank" rel="noopener noreferrer">http://abc.com/test.jpg';</a>

$ch = curl_init($img_url);

curl_setopt($ch, CURLOPT_NOBODY, true);

curl_exec($ch);

$results = curl_getinfo($ch, CURLINFO_HTTP_CODE);</p>

<p>if ($results == 200) {

    //파일이 있는 경우 원하는 코드 실행 

    echo '<img src="<a href="http://abc.com/test.jpg">';" target="_blank" rel="noopener noreferrer">http://abc.com/test.jpg">';</a>

} else {

    //파일이 없는 경우 원하는 코드 실행 

    echo '<img src="./test.jpg">';

}

curl_close($ch);</p>

<p>

같은 서버에 있으면 file_exists('./test.jpg') 와 같은 식으로 할 수 있을텐데 
다른 서버에 있어서 url로는 불가능 합니다.
위와 같이 복잡하지만 컬로 하면 작동 합니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인