외부이미지 저장할때 문의 드립니다.

외부이미지 저장할때 문의 드립니다.

QA

외부이미지 저장할때 문의 드립니다.

본문

안녕하세요

 

외부이미지 저장할때 아래 내용을 적용하는되요

 

$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);

추가해서 데이터를 가져오는지를 체크해보시면 됩니다.

가져오는 곳에서 차단하는 경우가 있습니다.

혹은 SSL 인증에서 막히는 경우는 있고요.

주소에 딸린 이미지는 ssl 설정 curl 항목 검색하셔서 불러오면될것이구요

제대로 읽어오는것만 확인먼저해도됩니다.

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);

위 답변 모두 감사합니다. ^^~

 

아래 내용도 정확히 이해는 되지는 않지만 

아래 처럼 처리 하니 잘받아지네요^^~

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);
답변을 작성하시기 전에 로그인 해주세요.
전체 82
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT