我開始研究一個需要多個數組並將它們放入一個csv文件的項目。但是,雖然它正在生成文件,但它通常完全是空的(0 b文件大小)。有時候,如果我錯過了某些東西,它會將錯誤信息放在文件中,或者幾次將數組放入文件中,就好像我已經完成了print_r($ array)一樣。PHP fputcsv生成空文件
目前,我有這樣的:
<?php
// output headers
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=file.csv');
$list = array (
array('aaa', 'bbb', 'ccc', 'dddd'),
array('123', '456', '789'),
array('"aaa"', '"bbb"')
);
$fp = fopen('file.csv', 'w');
// output data
foreach ($list as $fields) {
fputcsv($fp, $fields);
}
fclose($fp);
?>
使用將最終產生的陣列,但我是新生成的文件,所以我想這樣做第一。
我也嘗試過多種變化,結果相同。到目前爲止,我能想到的唯一的事情是我使用XAMPP,並且其中的fputcsv函數存在一些問題,但我還沒有發現任何其他人有這個問題。在我的代碼中是否有錯誤,或者我應該在別處尋找我的問題?
如果你在頂部設置你的標題,它會不會產生一個錯誤? – seanbreeden 2012-02-07 20:37:06
我們可以看到您確切的實際代碼嗎?大概上述不是你正在運行,因爲「創建文件指針...」行將是一個語法錯誤。您是否期望將文件輸出到磁盤或HTTP客戶端?因爲你正在寫一個文件,但是設置頭像就像你期待的那樣輸出。另外,請注意,最好在文件上調用fclose(),儘管在這種情況下實際上並不需要它,因爲您的句柄將在腳本結束時自動關閉。 – 2012-02-07 20:41:07
@ seanbreeden-到目前爲止,我無論做得好還是壞,都沒有任何區別。 – LucenNox 2012-02-07 20:44:17