我为自己的wordpress网站创建了一个自定义页面模板,该模板从自定义表中读取数据,对其进行操作,然后放入表单中。这显示得很好。
代码所做的下一件事就是调用一个函数,然后该函数将获取表中的所有相同数据,并将其放入用户可以打开或下载的CSV文件中。
然而,正在发生的事情是,它不是可以下载的文件,而是简单地转储到表单下面的页面中。
这是应该打印文件的函数的代码。它是一个带有两个数组(标题和主要内容)和分隔符的函数。在此代码发出之前调用打开文件。 (php:// memory,w)
// Add report title
fputcsv($f, (array)$headers_array[0], $delimiter);
//add the date
fputcsv($f, (array) $headers_array[1], $delimiter);
//add notes
fputcsv($f, (array) $headers_array[2], $delimiter);
//labels from the document
$headers_temp = explode (",",$headers_array[3]);
//var_dump ($headers_temp);
fputcsv ($f, $headers_temp, $delimiter);
//headers that actually label the columns
$headers_temp = explode (",",$headers_array[4]);
//var_dump ($headers_temp);
fputcsv ($f, $headers_temp, $delimiter);
foreach ($array as $line)
{
// generate csv lines from the inner arrays
//var_dump ($line);
fputcsv($f, $line, $delimiter);
}
// reset the file pointer to the start of the file
fseek($f, 0);
// tell the browser it's going to be a csv file
header('Content-Type: application/csv; charset=utf-8');
// tell the browser we want to save it instead of displaying it
header('Content-Disposition: attachment; filename= report_for_"'.$headers_array[1] .'".csv;');
// make php send the generated csv lines to the browser
fpassthru($f);
当我不在wordpress环境中时(我正在调整纯PHP / HTML中的mycode以将其合并到网站中),此代码完全 ,但在Wordpress中不起作用。是否有一个对象或wordpress函数我应该使用而不是fopen?
由于