2013-10-23 5 views
1

직접 다운로드 링크를 통해 파일을 다운로드하여 내 서버에 저장하는 PHP 스크립트 (Linux 서버에서)를 실행하려고합니다. 여기PHP가 직접 링크를 통해 파일을 다운로드하여 내 서버에 저장합니다.

나는 스크립트를 사용하고 있습니다 : 그것은 나를 위해 작동하지 않는 몇 가지 이유

<?php 

    $url = 'http://download.maxmind.com/app/geoip_download?edition_id=108&date=20131015&suffix=zip&license_key=XXXXXXXXXXX'; 
    $path = '/apps/test/'; 

    $fp = fopen($path, 'w'); 

    $ch = curl_init($url); 
    curl_setopt($ch, CURLOPT_FILE, $fp); 

    $data = curl_exec($ch); 

    curl_close($ch); 
    fclose($fp); 
?> 

, 어떤 제안?

+0

출력 파일 이름은 무엇입니까? –

+0

로그를 확인 했습니까? (php/apache 사용자) 해당 디렉토리에 쓸 수있는 권한이 있습니까? – palindrom

+0

파일 이름은 GeoIP-YYYYMMDD.zip입니다. 이름을 바꾸지 않고/apps/test/아래에 저장하고 싶습니다. 예, 지정한 폴더에 대한 쓰기 권한이 있습니다. – user2910261

답변

0

시도 원래 형식의 파일)

shell_exec("wget -P /apps/birst/php_test_scripts/ --content-disposition "."'"."https://download.maxmind.com/app/geoip_download?edition_id=108&suffix=zip&license_key=XXXXXXXX"."'"); 
0

은 왜 그냥 사용 해달라고 : 이것은 또한 다운로드합니다 ( :

shell_exec("wget -P /target/directory/ http://download.link.com/download.zip"); 
+0

잘 작동한다고 가정하고 Connection이 거부했습니다. download.maxmind.com 해결 ... 108.168.255.243, 2607 : f0d0 : 3 : 8 :: 4 download.maxmind.com에 연결 | 108.168.255.243 | : 80 ... 실패 : 연결이 거부되었습니다. download.maxmind.com에 연결 | 2607 : f0d0 : 3 : 8 :: 4 | : 80 ... 실패 : 주소 패밀리가 프로토콜에서 지원되지 않습니다. – user2910261

0

당신은 포트가 방화벽에 열려 있는지 확인하고 다음 명령을 사용하기 위해 필요한이

$url = 'http://download.maxmind.com/app/geoip_download?edition_id=108&date=20131015&suffix=zip&license_key=XXXXXXXXXXX'; 
$path = '/apps/test/'; 
$filepath = $path .'file.zip'; 
$data = file_get_contents($url); 
file_put_contents($filepath, $data); 
관련 문제