【发布时间】:2015-06-10 22:08:42
【问题描述】:
我一直在尝试制作一个 Wordpress 页面,该页面将使用我的“统计”表中的数据导出 .csv 文件。如果我把它放在 .php 文件中,下面的这个脚本可以在 localhost 上完美运行。
但在 Wordpress 中,它不适合我。我已使用插入 php 插件将此脚本放在单独的页面中。当我访问此页面时,它会下载 .csv 文件,但里面的数据不是表中的数据。它提供数据,带有 div 标签和错误。我还尝试了 Exchange 中的其他脚本,但它再次返回了这个奇怪的文件,所以很明显问题出在 WordPress 和我的理解上。
代码:我把这个脚本放在 www.mydomain.com/export 上(这是 wordpress 页面)。
[insert_php]
global $wpdb;
$result = $wpdb->get_results('SELECT * FROM statistics', ARRAY_A);
header('Content-Type: text/csv');
$date = date("Y-m-d H:i:s");
header('Content-Disposition: attachment;filename=EXPORT_' . $date . '.csv');
foreach ($result as $row) {
if ($row) {
exportCsv(array_keys($row));
}}
while ($row) {
foreach ($result as $row) {
exportCsv($row);
}}
function exportCsv($rows) {
$separator = '';
foreach ($rows as $row) {
echo $separator . $row;
$separator = ',';
}
echo "\r\n";
}
[/insert_php]
我错过了什么?如何使这种情况发生?我想在 MySQL 中导出一个表,将其导出为 .csv 文件格式,以便用户可以在计算机上下载。
使用 WordPress 页面和 php 将数据库表导出到 csv。
【问题讨论】:
标签: php wordpress csv export export-to-csv