php get_file_contents失败

时间:2016-08-15 13:13:57

标签: php csv curl

我继承了一个PHP脚本,它只是试图下载.csv文件。但是,它不会在承载脚本的服务器上按预期运行。在我的电脑上,相同的脚本工作正常:

以下代码的摘录:

$file = 'myfile.csv';
$url = 'http://example.com/documents/myfile.csv';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_NOBODY, 1);
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
if(curl_exec($ch)!==FALSE){
    $urlValid = true;
    $info = curl_getinfo($ch);
    print_r($info);
    $csv = file_get_contents($url);
    print_r($csv);
    $f = fopen('php://temp', 'r+');
    fwrite($f, $csv);
    rewind($f);
}
else{
    $urlValid = false;
    echo 'Url not valid'."\n";
    exit;
}

使用allow_url_fopen = On

正确设置php.ini

我已经添加了一些调试 - $ info返回正确的url,content_type和content_length,但$ csv是一个通用的html错误页面。

我可以使用服务器中的curl -O http://example.com/documents/myfile.csv,并按预期下载文件。

如上所述,我可以从我的电脑上运行脚本,并按预期下载文件。

我没有想法:(

可能有助于CentOS 5,PHP 5.1.6的版本

0 个答案:

没有答案