rubyでフォームデータをファイルに書き込む

rubyでフォームデータをファイルに書き込む方法は、HTMLでのフォームデータで指定したname属性をrubyで展開/代入して、それを書き込み属性を与えたファイルに書き込む。
では以下の通りHTMLを書いたとすると
form_post_write.html
<html>
<head></head>
<body>
<form action="form_write.cgi" method="POST">
お名前:<input type="text" name="namae">
<input type="submit" value="送信">
</form>
</body>
</html>

rubyでは、form_write.cgi
#!/usr/bin/ruby
print "Content-type: text/html?n?n"
require "cgi-lib"
input = CGI.new

FILENAME = "data_test.log"
namae = input["namae"]

f = open(FILENAME, "w")
f.print namae
f.close
print "<html><body>Done it!!</body></html>"

4行目まではこれまで通り
FILENAME = "data_test.log"は書き込むログのファイル名を指定。
namae = input["namae"]はhtmlから送信されたテキストをnamaeに代入している。
open(FILENAME, "w")では、data_test.logのファイルを書き込み属性wで開いている。
さらに、開いたファイルにnamaeを書き込みcloseでファイルを閉じている。
で全ての動作が終了したら、書き込みましたよと表示されます。
書き込み結果はdata_test.log
個人的に分かりづらいのが“f”の意味。
これは恐らく、fileでもhirakegomaでもなんでも良い(はず)。
つまるところ、namaeと同じ代入を意味している(はず)。

sponsors

「rubyでフォームデータをファイルに書き込む」をシェアする

記事作成:
記事URL:

TOP > > rubyでフォームデータをファイルに書き込む

前の記事:
次の記事:rubyでファイルを読み込む