외부이미지 저장할때 문의 드립니다. 채택완료
안녕하세요
외부이미지 저장할때 아래 내용을 적용하는되요
$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 관련 설정도 진행해주신 뒤 위 옵션을 삭제해보세요.
$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);
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
주소에 딸린 이미지는 ssl 설정 curl 항목 검색하셔서 불러오면될것이구요
제대로 읽어오는것만 확인먼저해도됩니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
가져오는 곳에서 차단하는 경우가 있습니다.
혹은 SSL 인증에서 막히는 경우는 있고요.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인