PHP 通过直接链接下载文件并将其保存在我的服务器上


PHP download a file through direct link and save it on my server

我正在尝试运行PHP脚本(从Linux服务器),该脚本将通过直接下载链接下载文件并将其保存在我的服务器上。

这是我正在使用的脚本:

<?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);
?>   

由于某种原因它对我不起作用,有什么建议吗?

您需要验证防火墙上的端口是否已打开,并使用以下命令:(这也将下载原始格式的文件)

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"."'");

你为什么不直接使用:

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

试试这个

$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);