2012-11-06 23 views
1

我有下面的代碼,PHP和CSV每列數據是沒有得到包裹在外殼

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中的每個條目正確包含爲什麼這不會發生?

+0

生產$ aCsvLine有什麼意義?這將是一個單一的元素數組,你循環,輸出一行csv。 fputcsv($ fp,$ aList)'是不是更容易? –

回答

0

我會在您的fputcsv調用中提供分隔符和字段外殼。

fputcsv($fp,$fields,',','"')