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