5
我使用在wp-admin/side中創建菜單的插件並使用一些數據顯示錶格。我需要生成CSV(它是正確的),並讓用戶自動下載它。我知道,我必須添加頁眉像這些如何在Wordpress中下載導出的csv文件
header('Content-type: application/csv');
header('Content-Disposition: attachment; filename="' . $csv_file_name . '"');
不過遺憾的是它並不適用於WordPress管理方的工作。 再次 - CSV的產生會是正確的,但它只是顯示一個見下表CSV文件的文本,但不給文件
下面是完整的代碼
if (isset($_REQUEST['export_csv'])) {
global $wpdb;
$csv_source_array = $wpdb->get_results ($wpdb->prepare(" SELECT name, email, time, text FROM {$table_name} "), ARRAY_N);
$csv_file_name = 'nba.rally.'.date(Ymd).'.csv';
$csv_header_array = array("Name", "Email", "Date", "Message");
if (isset($csv_source_array)) {
header('Content-type: application/csv');
header('Content-Disposition: attachment; filename="' . $csv_file_name . '"');
ob_start();
$f = fopen('php://output', 'w') or show_error("Can't open php://output");
$n = 0;
if (isset($csv_header_array)) {
if (!fputcsv($f, $csv_header_array, ';'))
{
echo "Can't write line $n: $line";
}
}
foreach ($csv_source_array as $line)
{
$n++;
if (!fputcsv($f, $line, ';'))
{
echo "Can't write line $n: $line";
}
}
fclose($f) or show_error("Can't close php://output");
$csvStr = ob_get_contents();
ob_end_clean();
echo $csvStr;
}
}
感謝提前任何答案。
你可以給我完整的代碼? – huykon225