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

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

sukja 2년 전 조회 1,938

안녕하세요

 

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

 

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

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

SSL 사이트에 이미지를 가져올때는

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);

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

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

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

s
2년 전

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

 

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

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

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개

s
sukja
2년 전
답변감사합니다.^^

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

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

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

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

답변에 대한 댓글 1개

s
sukja
2년 전
답변감사합니다.^^

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

M
2년 전

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

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

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

답변에 대한 댓글 1개

s
sukja
2년 전
https 로 되어 있기는 있습니다.
영카트로 되어 있고요
curl 말고는 다운로드 받을 방법이 없나요?

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

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

로그인