我正在尝试为wordpress做一个导出插件。这个插件在csv中导出一个自定义类型和另一个插件(不是由我创建)我可以导入csv。
问题来自我的插件,当我想导入我导出的文件时,第一种情况无法识别。
我需要将文件的编码(使用notepad ++)更改为没有BOM的UTF8,并且第一种情况有效。
删除所有不必要的代码。
$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 [] ="";),一切都还可以,但也许有另一种方法
答案 0 :(得分:0)
这有助于我。这个标题
标题('Content-Encoding:UTF-8');
header('Content-type:text / csv; charset = UTF-8');
header(“Content-Disposition:attachment; filename = file.csv”);
标题(“Pragma:no-cache”);
标题(“过期:0”);
header('Content-Transfer-Encoding:binary');