2014-12-30 4 views
1

내 스크립트는 코드의 URL을 제외하고는 잘 작동합니다. 나는 항상 404를 얻는다. 물론 브라우저에서 이미지를 얻을 수있다. 아무도 내가이 문제를 해결하도록 도울 수 있습니까? 추신 : 실제로, 나는 int "questions/6476212"메서드를 사용하여 이미지 파일을 얻을 수있었습니다. 그러나 이미지 파일을 열려고 할 때 파일의 내용은 이미지가 아닌 404 페이지입니다.컬에서 이미지를 가져 오는 방법

$url = 'https://spthumbnails.5min.com/10368406/518420256_c_570_411.jpg'; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_HEADER, false); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.1 Safari/537.11'); 
$res = curl_exec($ch); 
$rescode = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
curl_close($ch) ; 
echo $res;" 
+0

서버가 요청을 확인하기 위해 쿠키를 사용합니까? –

+0

추가 시도 : curl_setopt ($ ch, CURLOPT_BINARYTRANSFER, 1);JPG 파일 전송이 바이너리 모드에서 수행되어야하기 때문에? – GiantRobot

+0

나는 그것에 대해 전혀 몰라 :(쿠키를 확인하는 방법 – weblen

답변

6

스크립트가 올바르게 작성되었습니다. 나는 시도하고 잘 작동하지만 네비게이터가 이미지를 보여주기 위해서는 이미지 헤더를 설정해야한다.

예 :

header("Content-Type: image/jpeg"); 

$url = 'https://images.nga.gov/en/web_images/constable.jpg'; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_HEADER, false); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.1 Safari/537.11'); 
$res = curl_exec($ch); 
$rescode = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
curl_close($ch) ; 
echo $res; 

그러나 이미지 URL이 404 오류를 얻고있다 그 이유는, 다운 유의하시기 바랍니다.

감사합니다.

+0

다운시겠습니까? 브라우저에서 열어 본다면 URL은 – Eugen

+0

입니다.하지만 브라우저에서 이미지를 가져올 수 있습니다. – weblen

+0

예 Eugen, 이미 "이 페이지는 표시 할 수 없습니다."라는 오류 메시지가 표시됩니다. – manuelbcd

관련 문제