PHP导出内容为空


PHP export with empty content

我遇到了一个问题。我想从mysql数据库中检索所有数据并导出。然而,导出的csv文件中什么都不包含。请帮帮我。

if(isset($_POST['export'])){
$filename = 'applicants '.date('m-d-Y').'.csv'; 
$tableName="applicants";
$sql=mysql_query("select * from applicants");
$num_rows=mysql_num_rows($sql);
mysql_data_seek($sql, 0);
$row = mysql_fetch_assoc($sql);
$fp = fopen($filename,"w");
$seperator="";
$comma="";
$tableName="applicants";
foreach($row as $name => $value)
{
    if($name==""){
        $name=" ";
    }
    $seperator .= $comma . '' .str_replace('','""','"'.$name.'"');
    $comma = ",";
}
$seperator .="'n";
fputs($fp,$seperator);
mysql_data_seek($sql, 0);
while($row = mysql_fetch_assoc($sql)){
    $seperator="";
    $comma="";
    foreach($row as $name => $value)
    {
        $seperator .= $comma . '' .str_replace('','""','"'.$value.'"');
        $comma = ",";   
    }
    $seperator .="'n";
    fputs($fp,$seperator);
}
header("Content-Disposition: attachment; filename='"$filename'"");
header("Content-Type: application/vnd.ms-excel");
fclose($fp);
}

这里有一些简单的方法。。。根据您的情况进行更改

   // output headers so that the file is downloaded rather than displayed
    header('Content-Type: text/csv; charset=utf-8');
    header('Content-Disposition: attachment; filename=data.csv');
// create a file pointer connected to the output stream
$output = fopen('php://output', 'w');
// output the column headings
fputcsv($output, array('mysqlColumnName1', 'mysqlColumnName2', 'mysqlColumnName3'));
// fetch the data
mysql_connect('localhost', 'username', 'password');
mysql_select_db('database');
$rows = mysql_query('SELECT field1,field2,field3 FROM table');
// loop over the rows, outputting them
while ($row = mysql_fetch_assoc($rows)) 
            fputcsv($output, $row);

仅发送Content-Disposition标头不会自动附加文件。您应该手动将其包括在内,例如

// ...
header("Content-Disposition: attachment; filename='"$filename'"");
header("Content-Type: application/vnd.ms-excel");
fclose($fp);
echo file_get_contents($filename);

或者,您可以按照Harsh的回答使用fopen('php://output', 'w');

另外,确实要使用fputcsv

相关文章:
  • 没有找到相关文章