請我有以下陣列:PHP如何使用fputcsv功能
array(3) {
[0]=>
array(2) {
[0]=>
string(6) "lkjhgj"
[1]=>
string(16) "[email protected]"
}
[1]=>
array(2) {
[0]=>
string(5) "hgjk,"
[1]=>
string(18) "[email protected]"
}
[2]=>
array(2) {
[0]=>
string(9) "dddd ffff"
[1]=>
string(13) "[email protected]"
}
}
我希望把它變成一個CSV文件,所以我嘗試:
$fichier = 'file.csv';
$fp = fopen($fichier, 'w');
foreach ($list as $fields)
{
fputcsv($fp, $fields);
}
fclose($fp);
header('Content-Type: text/csv');
header('Content-Disposition: attachment;filename='.$fichier);
但是當我下載文件時,我發現它是空的!
請掌握任何想法?在此先感謝
PS:權限是777
'$ list'在代碼示例中來自哪裏?那裏有什麼? – 2013-02-11 09:25:18
我沒有看到任何實際將文件作爲響應的一部分返回的代碼!在您關閉文件後,必須重新打開它,然後才能發送它。此外,我沒有看到任何錯誤檢查您的代碼,fopen,fputcsv和其他文件操作可能會失敗。你需要檢查他們沒有返回FALSE – GordonM 2013-02-11 09:25:36
使用'$ fp = fopen('php:// output','w');'而不是'$ fp = fopen($ fichier,'w');'' ..看到我的回答下面 – 2013-02-11 09:28:31