2013-10-23 59 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

好吧,我認爲它應該工作,但我得到連接拒絕:解決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); 
相關問題