我想在 wordpress 管理页面中下载 csv ......它在本地服务器上工作正常,但它给标题已经发送错误

Posted

技术标签:

【中文标题】我想在 wordpress 管理页面中下载 csv ......它在本地服务器上工作正常,但它给标题已经发送错误【英文标题】:I want to download csv in wordpress admin page...it works fine at local server but live it give header already sent error 【发布时间】:2012-10-29 18:07:40 【问题描述】:
The code for download that works at localhost is but live at hostgather server it throughs error 


ob_get_clean();
    header("Content-type: text/x-csv"); # DECLARING FILE TYPE
    header("Content-Transfer-Encoding: binary");
    header("Content-Disposition: attachment; filename=".$csv_file_name); # EXPORT GENERATED CSV FILE
    header("Pragma: no-cache");
    header("Expires: 0");

    echo $fields;
    exit;

错误是

警告:无法修改标头信息 - 标头已由 /home/londoner/public_html 中的(输出开始于 /home/londoner/public_html/pkfones.com/pinquest/wp-admin/includes/template.php:1679)发送/pkfones.com/pinquest/wp-content/plugins/wp-gamesize/setgamesize_admin.php 在第 131 行

【问题讨论】:

好吧,恐怕您将不得不告诉使用错误消息中提到的那些行实际包含的内容。这就是错误消息的用途:它准确显示了导致发送输出的行。 Unusual 'Headers not sent' error. No whitespace nor changing of the header 的可能重复项 【参考方案1】:

确保在代码执行的开始(或非常接近)时调用 ob_start()。这将缓冲您的所有输出并允许您随时发送标头。你可以把它放在你的functions.php的最顶部。

这适用于您的本地而不是实时的原因可能是服务器配置的差异,默认情况下您在本地缓冲而不是实时。这是确保您的开发和生产环境尽可能相似的一个很好的理由。

【讨论】:

以上是关于我想在 wordpress 管理页面中下载 csv ......它在本地服务器上工作正常,但它给标题已经发送错误的主要内容,如果未能解决你的问题,请参考以下文章

最简单的Joomla下载管理器

我想在 PyQt5 的 QtableView 中显示一个 csv 文件

如何在 Streamlit 中将 Pandas DataFrame 下载到 CSV 文件

从 HTML 页面上的多个帖子中提取三个文本项到 csv 或类似文件中?

将页面上的多个 html 表格保存为 CSV

Discord Bot 读取 Google 表格并在表格中返回值。我想在没有表格格式的消息中返回值 ar CSV