经过大量的搜索和修改后,我设法将表格导出为.csv文件,但现在我想通过浏览器启动下载,而不是自动存储在文件夹中。php导出为csv用户/浏览器下载
这里是我的代码:
<?php
$server = 'localhost';
$user = 'root';
$pass = 'pass';
$db = 'test';
$db = mysqli_connect($server, $user, $pass, $db);
mysqli_set_charset($db, "utf8");
$filename = 'uploads/'.strtotime('now').'.csv';
$fp = fopen($filename,"w");
$query = "SELECT id,product,status,created,summary FROM product_table";
$result = mysqli_query($db,$query) or die("My query ($query) generated an error: ".mysql_error());
$row = mysqli_fetch_assoc($result);
$seperator = "";
$comma = "";
foreach ($row as $name => $value){
$seperator.= $comma. ''.str_replace('','""',$name);
$comma=",";
}
$seperator .= "\n";
echo $seperator;
//putting the heading into the csv file
fputs($fp,$seperator);
mysqli_data_seek($result,0);
while ($row = mysqli_fetch_assoc($result)){
$seperator = "";
$comma = "";
foreach ($row as $name => $value){
if (strcmp($name,'summary') == 0){
$value = str_replace(array("\r" , "\n", "\r\n", "\n\r") ,'' , $value);
$value = str_replace('</b><br>','',$value);
$value = str_replace('<b>','',$value);
$value = str_replace('<br>','',$value);
$value = str_replace('<br />','',$value);
}
$seperator.= $comma. ''.str_replace('','""',$value);
$comma=",";
}
$seperator .= "\n";
//putting the heading into the csv file
fputs($fp,$seperator);
}
fclose($fp);
?>
运行上面的脚本存储.csv文件的文件夹上传。为了使用户能够通过浏览器运行脚本并下载.csv文件,需要进行哪些更改才能启用浏览器下载?谢谢!
编辑: 此外,如果要禁用保存到文件夹并只启用用户/浏览器下载,我必须做什么修改?谢谢。
您似乎忘记了添加标签[tag:homework]。 – Christian
@Christian:尽管没有提到它,但我尝试了不同的方法让它工作,但失败了。另一方面,这是一个有期限的工作项目。我需要得到必须完成的工作,然后找出原因。 – greenpool
在我看来,我会拒绝我不知道该如何执行的工作...... – Christian