PHP -导出CSV -第一种情况不识别


PHP - Export CSV - First Case not recognize

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

问题来自我的插件,当我想要导入一个我已经导出的文件时,第一个大小写不被识别。

我需要将编码文件(使用notepad++)更改为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"中

谢谢。

编辑:如果我使用一个小hack,并把第一列空($ attribute[]=";),一切都是好的,但也许有另一个方法

这对我有帮助。试试这个header

标题("内容编码:utf - 8");
标题("内容类型:文本/csv;charset = utf - 8 ');
标题("附加项:附件;文件名= file.csv");
标题("杂注:no - cache");
标题("到期:0");
标题("Content-Transfer-Encoding:二进制");

相关文章: