외부이미지 저장할때 문의 드립니다. 채택완료
안녕하세요
외부이미지 저장할때 아래 내용을 적용하는되요
$ch = curl_init ('이미지URL');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$err = curl_error($ch);
if(!$err) $rawdata=curl_exec($ch);
curl_close ($ch);
여기서
if ($rawdata) {
여기서 저장 프로세스 진행 하는되요
}
$rawdata 통과는 안되는데
url로는 이동하면 이미지가 보입니다.
안되는 이유가 뭔가요?
고수님들 조언부탁드립니다.
답변 5개
SSL 사이트에 이미지를 가져올때는
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
추가해서 데이터를 가져오는지를 체크해보시면 됩니다.
댓글을 작성하려면 로그인이 필요합니다.
위 답변 모두 감사합니다. ^^~
아래 내용도 정확히 이해는 되지는 않지만
아래 처럼 처리 하니 잘받아지네요^^~
curl 로 안되더라구요.
$arrContextOptions=array(
"ssl"=>array(
"verify_peer"=>false,
"verify_peer_name"=>false,
),
);
$rawdata= file_get_contents($img_link, false, stream_context_create($arrContextOptions));
ps. 위 답변 중 @팬덤디자인 님 답변도 가능할 듯하네요
$ch = curl_init ('이미지URL');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); --> 이부분
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); --> 이부분
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$err = curl_error($ch);
if(!$err) $rawdata=curl_exec($ch);
curl_close ($ch);
댓글을 작성하려면 로그인이 필요합니다.
CURLOPT_BINARYTRANSFER 옵션은 CURLOPT_RETURNTRANSFER 옵션의 기본 출력을 반환하는 구문입니다.
아래와 같이 SSL 관련 설정도 진행해주신 뒤 위 옵션을 삭제해보세요.
</p>
<p>$ch = curl_init ('이미지URL');</p>
<p>curl_setopt($ch, CURLOPT_HEADER, 0);</p>
<p>curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);</p>
<p>curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);</p>
<p>curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);</p>
<p>curl_setopt($ch, CURLOPT_TIMEOUT, 10);</p>
<p>$err = curl_error($ch);</p>
<p>if(!$err) $rawdata=curl_exec($ch);</p>
<p>curl_close ($ch);</p>
<p>
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인