안녕하세요
외부이미지 저장할때 아래 내용을 적용하는되요
$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개 / 댓글 3개
위 답변 모두 감사합니다. ^^~
아래 내용도 정확히 이해는 되지는 않지만
아래 처럼 처리 하니 잘받아지네요^^~
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);
주소에 딸린 이미지는 ssl 설정 curl 항목 검색하셔서 불러오면될것이구요
제대로 읽어오는것만 확인먼저해도됩니다.
답변을 작성하려면 로그인이 필요합니다.