php下载文件从服务器don';行不通

php下载文件从服务器don';行不通,php,Php,我有这段代码,可以在其他项目中使用,但现在下载文件的方法是在浏览器上显示文件 $query = "SELECT * FROM leads"; $result = $dbconn->query($query); $filename = "leads_shaldor_" . date("Y-m-d H:i"); $filepath = "/var/www/vhosts/as7.co.il/shaldor.as7.co.il/exports/" .$filename. ".csv";

我有这段代码,可以在其他项目中使用,但现在下载文件的方法是在浏览器上显示文件

$query = "SELECT * FROM leads";
$result = $dbconn->query($query);

$filename = "leads_shaldor_" . date("Y-m-d H:i");
$filepath = "/var/www/vhosts/as7.co.il/shaldor.as7.co.il/exports/" 
.$filename. ".csv";
    $downpath = "http://shaldor.as7.co.il/exports/" .$filename. ".csv";
    $csvFile = fopen($filepath, 'w') or die("can't open file");
    fprintf($csvFile, chr(0xEF).chr(0xBB).chr(0xBF));
    while($row = $result->fetch_assoc()){
        fputcsv($csvFile, 
array($row['id'],$row['name'],$row['phone'],$row['date']));
        print_r($row);
    }
    fclose($csvFile);
    header("Location: " . $downpath);


$result->close();
$sql->close();
设置以下标题。它应该强制下载。浏览器正在打开它,因为它知道如何渲染文件

请参考以下答案:

你可以用这个

要强制下载服务器上的所有CSV文件,请添加.htaccess文件:

AddType application/octet-stream csv
PHP解决方案

header('Content-Type: application/csv');
header('Content-Disposition: attachment; filename=example.csv');
header('Pragma: no-cache');
readfile("/path/to/yourfile.csv");
为什么会有“print_r($row);”?
AddType application/octet-stream csv
header('Content-Type: application/csv');
header('Content-Disposition: attachment; filename=example.csv');
header('Pragma: no-cache');
readfile("/path/to/yourfile.csv");