我正在尝试为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:二进制");