2013-08-26 4 views
0

사용자가 사진을 업로드 할 수있는 사이트를 개발 중입니다.file_get_contents 일부 콘텐츠에 대한 연결 시간이 초과되었습니다.

사용자가 이미지의 URL (원격 만)을 삽입하면 url을 가져 와서 서버에 저장하는 php에 아약스를 호출합니다. 일부 이미지의 경우

가 나에게 연결을 제공합니다 다른 어떤을 위해, 시간 초과 :

문제는 file_get_contents입니다. 나에게 그 오류를 제공

일부 이미지는 다음과 같습니다

나는이 방법으로 컨텐츠를 가져 오기 위해 간단한 시도 :

$img = "http://www.lloydsbaiahotel.it/images/bgtop/03.jpg"; 
$inbuf = file_get_contents($img); 
var_dump($inbuf); 

무엇을 할 수 문제? 내 서버의 일부 구성을 변경해야합니까?

+0

을 그들은 귀하의 요청을 차단할 수 있습니다 – Pinoniq

+0

서버가 제 것입니다! 이미지의 서버를 의미합니까? – JackTurky

+0

이미지 서버 – Pinoniq

답변

1

시도는 컬을 사용 :

$ch = curl_init ($url); 
    curl_setopt($ch, CURLOPT_HEADER, 0); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_BINARYTRANSFER,1); 
    $raw=curl_exec($ch); 
    curl_close ($ch); 
    $fp = fopen($save_to,'x'); 
    fwrite($fp, $raw); 
    fclose($fp); 
0

file_get_contents()는 느린 네트워크 연결이나 원격 파일 가져 오기 리디렉션을 처리하지 않습니다. 사용자 정의 연결 시간 초과 값을 허용하는 fsockopen()을 사용할 수 있습니다.

here에서 자세한 정보를 얻을 수 있습니다.

또한 files.You뿐만 아니라 curl manual을 볼 수있는 원격 가져올 수 곱슬 곱슬 사용할 수 있습니다 : 그것은 당신에게 다음과 같이 file_get_contents보다 더 많은 옵션과 제어를 제공,