curl 리디렉션 되는 곳의 이미지
본문
아래는 이미지를 저장하는 소스입니다.
그런데 제가 이미지를 가져올 곳은
https://source.unsplash.com/category/nature/1600x900
요 주소로 들어가면 리디렉션이 되면서 랜덤으로 이미지를 보여주는 곳입니다.
이런 경우... curl 을 어떻게 수정하여 저장할 수 있을지 모르겠습니다
- - - - - - - - - - - - - -
function FileSave($FileLink, $Path){
$PhotoInfo = pathinfo($FileLink);
$PhotoName[] = md5($PhotoInfo['filename'])."_".time();
$PhotoName[] = $PhotoInfo['extension'];
$PhotoName = implode(".", $PhotoName);
$Curl = curl_init();
curl_setopt($Curl, CURLOPT_URL, $FileLink);
curl_setopt($Curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($Curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($Curl, CURLOPT_SSL_VERIFYHOST, 0);
$Result = curl_exec($Curl);
$FileSave = fopen($Path.$PhotoName, 'a');
fwrite($FileSave, $Result);
fclose($FileSave);
return $PhotoName;
}
echo FileSave("가져올 이미지의 주소", G5_PATH."/");
답변 1
function get_url($url)
{
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_HEADER,1);
$result=curl_exec($ch);
$code=curl_getinfo($ch,CURLINFO_HTTP_CODE);
if($code!='404' && $result)
{
$tmp = explode("Location: ", $result);
$tmp = explode("\n", $tmp[1]);
$tmp = preg_replace('/\r\n|\r|\n/','',$tmp[0]);
$new_url = $tmp;
return $new_url;
}
curl_close($ch);
}
저는 이렇게 해서 최종 url 를 추출 합니다.
!-->
답변을 작성하시기 전에 로그인 해주세요.