Tôi làm việc trên plugin tạo trình đơn trong wp-admin/side và hiển thị bảng với một số dữ liệu. Tôi cần phải tạo CSV (nó sẽ chính xác) và cung cấp cho người dùng để donwload nó tự động. Tôi biết rằng tôi phải thêm các tiêu đề như thế nàyCách tải xuống tệp csv đã xuất trong Wordpress
header('Content-type: application/csv');
header('Content-Disposition: attachment; filename="' . $csv_file_name . '"');
Nhưng tiếc là nó không hoạt động đối với phía quản trị wordpress. Một lần nữa - tạo của CSV đang xảy ra chính xác, nhưng nó sẽ hiển thị chỉ là một nội dung của tập tin csv bên dưới bảng, nhưng không cung cấp cho các tập tin
Đây là mã đầy đủ
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;
}
}
Cám ơn một bước tiến cho bất kỳ câu trả lời nào.
bạn có thể cho tôi mã đầy đủ? – huykon225