【问题标题】:PHP - Export CSV - First Case not recognizePHP - 导出 CSV - 第一种情况无法识别
【发布时间】:2014-06-17 10:51:54
【问题描述】:

我正在尝试为 wordpress 做一个导出插件。这个插件在 csv 中导出一个自定义类型,并且使用另一个插件(不是我创建的)我可以导入 csv。

问题来自我的插件,当我想导入我已经导出的文件时,第一种情况无法识别。

我需要将文件的编码(使用记事本++)更改为 UTF8 w/o BOM,第一种情况有效。

所有不必要的代码都被删除了。

    $data = array();
$attribut = array();

$ligne_csv = array(); 
$attribut[]="post_title";
$attribut[]="post_content";
$attribut[]="post_status";

$data[0] = $attribut;
$ligne_csv[]="bob";
$ligne_csv[]="richard";
$ligne_csv[]="publish";
$data[1]=$ligne_csv;

    header('Content-Type: application/csv');
    header('Content-Disposition: attachment; filename=test.csv');

$outstream = fopen("php://output", 'w');
fputcsv($outstream, $data[0], ';');
fputcsv($outstream, $data[1], ';');

fclose($outstream);

在导入器中,尝试像这样比较

if (in_array($data_row[$c],array_keys($post_type->default_options)))

当他在第一种情况下时,“post_title”不在“array_keys”中。

谢谢。

编辑:如果我使用一点技巧并将第一列留空($attribut[]="";),一切正常,但也许还有另一种方法

【问题讨论】:

    标签: php wordpress csv


    【解决方案1】:

    这对我有帮助。试试这个标题

    header('内容编码:UTF-8');
    header('内容类型: text/csv; charset=UTF-8');
    header("内容配置:附件;文件名=file.csv");
    header("Pragma: no-cache");
    header("过期时间:0");
    header('内容传输编码:二进制');

    【讨论】:

    • 感谢您的回复。已经尝试,不导入第一个案例。看起来第一种情况与其他情况不同
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-26
    • 2015-10-14
    • 2014-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多