我正在尝试从Wordpress中的数据库生成csv文件。 生成的CSV文件包含生成的数据库数组和页面的HTML源代码。
有什么想法可以摆脱HTML代码吗? 使用ob_start()/ ob_end_clean();的策略;似乎不起作用。
感谢您的帮助。
<?php
ob_start();
$filename = 'provider.csv';
$headers = array('ID', 'Name', 'Location');
$handle = fopen('php://memory', 'w');
fputcsv($handle, $headers, ',', '"');
$results = $wpdb->get_results("SELECT * FROM provider");
foreach($results as $results1)
{
$row = array(
$results1->provider_id,
$results1->provider_name,
$results1->provider_location
);
fputcsv($handle, $row, ',', '"');
}
ob_end_clean();
fseek($handle, 0);
header('Content-Type: application/csv');
header('Content-Disposition: attachment; filename="' . $filename . '";');
fpassthru($handle);
fclose($handle);
?>
答案 0 :(得分:0)
请使用以下代码,我认为它将为您工作。
<?php
global $wpdb;
$filename = 'provider.csv';
$headers = array('ID', 'Name', 'Location');
$handle = fopen('php://output', 'w');
fputcsv($handle, $headers, ',', '"');
$results = $wpdb->get_results("SELECT * FROM provider");
foreach($results as $results1)
{
$row = array(
$results1->provider_id,
$results1->provider_name,
$results1->provider_location
);
fputcsv($handle, $row, ',', '"');
}
header('Content-Type: application/csv');
header('Content-Disposition: attachment; filename="' . $filename . '";');
exit;
?>