2014-03-04 29 views
0

我試圖從HTML表單中獲取表單數據,將其添加到服務器端excel csv文件中。當我嘗試創建csv文件並使用HTML表單中的$ _POST值寫入時,出現錯誤:第46行的process.php中出現「解析錯誤:語法錯誤,意外的T_STRING,期待')。我試過了下面的代碼的一些改動,看看能否讓它起作用,但目前爲止還沒有。任何幫助將非常感激。

下面的代碼:

<?php 
$list = array (
    array('$_POST['some_field']', 'ccc', 'dddd'), 
    array('123', '456', '789'), 
    array('"aaa"', '"bbb"') 
); 

$fp = fopen('file.csv', 'w'); 

foreach ($list as $fields) { 
    fputcsv($fp, $fields); 
} 

fclose($fp); 
?> 

回答

2

方式有太多的報價,你不需要他們周圍的$ _ POST變量。

$list = array (
    array($_POST['some_field'], 'ccc', 'dddd'), 
    array('123', '456', '789'), 
    array('"aaa"', '"bbb"') 
); 

您可以通過在命令fopen使用'a'代替'w'追加到文件:

$fp = fopen('file.csv', 'a'); 

參見手冊here

+0

謝謝,現在的作品完美。另一個問題,如果我嘗試執行這個代碼兩次,它只會改變'file.csv'中的數據,而我想添加到它。有沒有一種方法可以附加到已經創建的文件的底部? – marrrrrv

+0

@ user2755449:是的,查看更新後的答案。 –

+0

偉大的作品,我愛你 – marrrrrv

0

嘗試,

$some_field = $_POST['some_field']; 
$list = array (
    array($some_field, 'ccc', 'dddd'), 
    array('123', '456', '789'), 
    array('aaa', 'bbb') 
); 
+0

不知道爲什麼你會添加額外的變量和代碼行的麻煩?你也移除了'''在aaa和bbb周圍 - 也許他/她想要那些引用。 –