使用PHP创建CSV

时间:2013-02-16 20:50:11

标签: php csv fputcsv

我正在尝试创建一个动态csv文件,以导出到我网站上的供应商网站。他们希望用双引号括起所有值。我正在尝试创建该行,然后将其提供给fputcsv(),但是当我在notepad2中查看它时会出现大量的双引号,而在Excel中查看它时则为1条目。以下是我的价值观:

$line = '"'.$row->petID.'","'.$row->customID.'","'.$row->petName.'","'.trim($row->breedName1).'","'.trim($row->breedName2).'","'.$df->setGender($row->gender).'","'.$df->setSize($row->size).'","'.$df->setAge($row->age).'","'.$description.'","'.$row->pType.'","'.$df->setStatus($row->status).'","","'.$row->isAltered.'","'.$ND.'","'.$NC.'","'.$NK.'","'.$df->isHousetrained($row->housebroken).'","'.$df->isDeclawed($row->declaw).'","'.$df->isSpecialNeeds($row->isSpecial).'","'.$df->isMix($row->breed2).'","'.$PhotoURL1.'","'.$PhotoURL2.'","'.$PhotoURL3.'"';

它使用文本编辑器就像这样: “” “13651””, “”, “”, “” 杰克 “”, “” 吉娃娃 “”, “” 博美犬 “”, “” M “”, “” S “”, “” 宝贝 “”, “”杰克和何塞出生于一个可爱的7磅吉娃娃/波美拉尼亚混合体,他们作为一个流浪者被带到庇护所。他们将在八月中旬为他们的新家断奶。尽管父亲不知道,幼崽很可能仍然很小。请访问我们的网站www.dogswithoutborders.org,获取杰克或何塞的在线领养申请,并了解有关我们的采用展览会的更多信息。“”,“”狗“”,“”A“”,“”“”,“”0“ ”, “” “” “” “”, “”, “”, “” “”, “”, “”, “” “”, “” 1 “”, “”http://photos.petfinder.com/photos/US/CA/CA1087/20460152/CA1087.20460152-1-x.jpg “”, “” “”, “” “”“

当我删除手动添加的“(s)时,我只有一个开头,一个到底。有什么想法吗?

2 个答案:

答案 0 :(得分:5)

使用内置的CSV功能!

<?php
    $fp = fopen('file.csv', 'w');
    fputcsv($fp, array('item1','items'));
    fclose($fp);
?>

<强>参考

答案 1 :(得分:-1)

您可以使用此PHP函数,而不是自己动手:

fputcsv

文档在这里:http://php.net/manual/en/function.fputcsv.php

在文档中,您可以......

//put your data in an array like this:
$list = array (
    array('aaa', 'bbb', 'ccc', 'dddd'),
    array('123', '456', '789'),
    array('"aaa"', '"bbb"')
);
//open the output file for writing
$fp = fopen('file.csv', 'w');

//write to the csv file (comma separated, double quote enclosed)
foreach ($list as $fields) {
    fputcsv($fp, $fields,',','"');
}
//close the file
fclose($fp);