2011-06-11 77 views
0

我想知道是否可以將html表單的內容保存爲csv格式?將html表單保存爲CSV可能嗎?

我曾希望將它用作使用數據庫的替代方案。

+0

您是否使用PHP框架? – VAShhh 2011-06-11 12:15:36

+2

這是**可能**將其保存爲任何內容。您可以逐字逐個剖析帖子,將字母翻譯爲顏色,並將數據保存爲圖像(如果需要)。問題是,將它作爲CSV存儲是否有意義?你想通過不使用數據庫來實現什麼?如果簡單,請參閱David的回答和我在下面的評論。 – 2011-06-11 12:26:17

回答

2

PHP有some built-in functionality來解決這個問題。

,以替代使用數據庫

請記住,這不是一個下拉更換爲一個實際的數據庫引擎。有幾件事要考慮:

  1. 你打算如何處理多個併發用戶?鎖定文件和一些用戶只是超時?在這種設置中,競態條件可能會成爲一個問題。
  2. 你打算如何查詢數據?如果數據預計會增長,則預計性能也會下降。您無法真正優化CSV查詢。
  3. 你打算在多個CSV文件中有多個表嗎?你將如何保持數據的關係完整性?應用程序應負責運行中的數據的完整性,但數據存儲應負責靜態數據的完整性。 CSV沒有維護數據完整性的機制。
+1

非常同意。您可能認爲CSV方法更簡單,但我認爲您會遇到很多數據庫已經解決的問題,或者您不會自己解決它們,或者在您這樣做時,您的方法不會再簡單了,因爲你將會寫一個數據庫。 :)如果您只需要能**擁有CSV中的數據,爲什麼不將它存儲在數據庫中並在必要時導出爲CSV? – 2011-06-11 12:23:31

0

絕對有可能。使用$_POST['var']獲取表單變量,然後使用fwrite將它們轉換爲文件(使用逗號分隔符或不管你喜歡的文件)。還請確保驗證您的輸入。事實上

0

當然

不管它是很容易的,可以用一條線來實現(雖然我不會在此期間生產reccomend始終驗證輸入,還需要追加到文件)

file_put_contents(「mycsvfile.csv」,implode(「,」,$ _POST))

0

當然。把你的領域,只是把它們放在一個文件:

$data = '"'.addslashes($first).'","'.addslashes($second).'"'."\n"; 
file_put_contents('form.csv', $data, FILE_APPEND);