1

私は次のコードを持っています、

function Warrantyform($to, $subject, $template, $replaceArray)
{
    $return = "";
    $str = valString($template);
    //die(var_dump($replaceArray));
    CallDatabase("insert into sales_formsholder 
     (iformtype, cto, csubject, cmsg, chtmlmsg) 
     values ( 1 ,'" . $to . "', '" . $subject . "', '" . $str . "', '')");
    //$handle = fopen($_SERVER["DOCUMENT_ROOT"]. "/cron/" . date(dMY) . ".csv");
    $aList = array();
    foreach ($replaceArray as $k => $v) {
        $aList[] = (string)$v ;
    }    
    $aList[] = date("d.m.Y h:i:s");
    $aCsvLine = array(
        $aList
    );
    $fp = fopen($_SERVER['DOCUMENT_ROOT'] . 
      "/cron/register_warranty_" . date("dMY") . ".csv", 'a');
    //die(var_dump($fp));
    foreach ($aCsvLine as $fields) {
        fputcsv($fp, $fields);
    }
    fclose($fp);
}

私はこのような出力を期待していましたが、

"column 1", "column 2", "column 3", "column 4", "column 5"

しかし、私が得ているのはもっと似ています、

"column 1", column 2, column 3, "column 4", "column 5"

CSV のすべてのエントリを正しく囲む必要があるのはなぜですか?

4

1 に答える 1

0

fputcsv 呼び出しで区切り文字とフィールド エンクロージャを提供します。

    fputcsv($fp,$fields,',','"')
于 2012-11-06T17:01:32.883 に答える