readfile 下载一个 blank/empty 文件

readfile download a blank/empty file

我正在尝试使用 readfile 从服务器下载文件。

该文件确实存在,当我在浏览器中直接使用 URL 时,它会按预期下载正确的文件。

然而,当我使用以下代码执行此操作时,它会下载具有正确文件名的文件,但内容完全空白,并且字节数为零。

我想知道这段代码是否真的不正确,而是创建了一个新文件,该文件当然是空白的。

function downloadFile($filename){
    $downloadroot = 'http://my.url.co.uk/exports/'.$filename.'.csv';
    header('Content-Type: application/csv');
    header('Content-Disposition: attachment; filename='.$filename.'.csv');
    header('Pragma: no-cache');
    readfile("$downloadroot");
}

这是什么原因造成的?有没有另一种方法可以从 URL 下载文件而不必创建某种 "save target as" link?

您可以使用 file_get_contents(),请参阅 http://php.net/file_get_contents 了解完整详情。

或者,如果您尝试阅读的只是 csv: http://php.net/manual/en/function.fgetcsv.php