2010-03-04 39 views
3

我用fputcsv生成csv文件,它工作得很好,但是當我在記事本(Windows)中查看csv文件時,沒有新行。所有的行都只有一行,並且換行符應該是這樣,有一個sqaure(已損壞的字符)。 Mac上的其他編輯器會正確顯示中斷行。fputcsv和記事本

有沒有什麼辦法解決這個問題,因爲CSV需要導入,導入程序也看不到換行符。

回答

2

\r\n結束在你的每行代碼。

其他快速修復: 打開生成的文件在寫字板,就應該給他們罰款,按CNTR + S現在在記事本中打開時,它應該顯示在這也沒關係。

編輯:

基於下面的評論,只是修改您的代碼如下:

$orders_newlines = array(); 

foreach($orders as $value) 
{ 
    $orders_newlines[] = $value . "\r\n"; 

} 

現在使用$orders_newlines變量,而不是$orders在循環。

希望有所幫助。

+0

在一個foreach中我有這個: $ fp = fopen('exports/export _'。date('YdmHi-s')。 '.csv','a'); fputcsv($ fp,$ orders,';'); 你會在那裏放置那些\ r \ n? – rkj 2010-03-04 10:13:48

+0

fputcsv($ fp,$ orders。「\ r \ n 「,';'); – Sarfraz 2010-03-04 10:17:01

+0

警告:fputcsv()期望參數2是數組,字符串在/httpd.www/stuff/export.php中給出..必須說$ orders是一個數組。 – rkj 2010-03-04 10:19:04

3

http://bugs.php.net/bug.php?id=46367

這是PHP的一個已知的和不固定的錯誤。如果您想修改它,請嘗試使用 fwrite($ fp,''',.implode('','',',$ data_array))''''。PHP_EOL );