我用下面的代码为产品提要保存了一个以制表符分隔的文件。但是,我提交的提要要求字段不包含在引号中。有没有一种方法可以在字段中不加引号的情况下保存此文件。
$feed[]=array('Item','Description','Category');
$feed[]=array('1-1','Words describing item 1, for example.','Top Category > SubCategory1');
$feed[]=array('1-2','Words describing item 2.','Top Category > SubCategory2');
header('Content-type: text/tab-separated-values');
header("Content-Disposition: attachment;filename=bingproductfeed.txt");
$f = fopen('php://output', 'a');
foreach ($feed as $fields) {
//$fields=str_replace('"','',$fields);
//$fields=trim($fields,'"');
fputcsv($f, $fields, "'t");
}
//Outputs:
//Item Description Category
//1-1 "Words describing item 1, for example." "Top Category > SubCategory1"
//1-2 "Words describing item 2." "Top Category > SubCategory2"
//I need:
//Item Description Category
//1-1 Words describing item 1, for example. Top Category > SubCategory1
//1-2 Words describing item 2. Top Category > SubCategory2
我试着去掉引号,用空格代替,但没有成功。有没有一种方法可以做到这一点,这样我就可以在没有错误的情况下提交这个提要?
根据PHP手册,我认为您可以省略fopen行,只需在页面上直接回显您的输出。
php://output¶
php://output是一个只写流,允许您以与print和echo相同的方式写入输出缓冲区机制。
这样的东西:
$feed[]=array('Item','Description','Category');
$feed[]=array('1-1','Words describing item 1, for example.','Top Category > SubCategory1');
$feed[]=array('1-2','Words describing item 2.','Top Category > SubCategory2');
header('Content-type: text/tab-separated-values');
header("Content-Disposition: attachment;filename=bingproductfeed.txt");
foreach ($feed as $fields) {
//$fields=str_replace('"','',$fields);
//$fields=trim($fields,'"');
echo implode("'t",$fields);
}