以前CGI FastCGI, rubyとかいうセクションを書いたけど、ENV って普通に書き換えられることに気付いたのでもう一度やってみた。できたっぽい? #!/usr/bin/ruby require "fcgi" FCGI.each do |fcgi| $stdout = fcgi.out $stdin = fcgi.in ENV.replace(fcgi.env) load(fcgi.env["SCRIPT_FILENAME"], true) fcgi.finish end fastcgi.server = ( ".php" => ( "localhost" => ( "socket" => "/tmp/fcgi-php.socket", "bin-path" => "/usr/bin/php-cgi" ) ), ".rb" => ( "localhost-rb" => ( "soc
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日本 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直
open("./data.jpg","w") do |fh| fh.binmode fh.write formData['imgData'][0].read end print "<img src='data.jpg'></body></html>" ファイルをアップロードするにはcgiライブラリを利用しファイルのデータを読み込みサーバー側にファイルとして書き込みます。サンプルではテンポラリファイルを作成し、後で名前を変更するようにしています。このファイルを書き込むディレクトリは書き込みが許可されている必要があります。書き込んだファイル名を<img>タグのsrc属性で指定することでアップロードした画像を表示させることができます。 #!/usr/bin/ruby require "cgi" formData = CGI.new print "Content-type: text/html\n
ファイルアップロードを受け付けるCGIのサンプルです。アップロードされたファイルの名前と中身を表示するだけ。 file.cgi: #!/usr/bin/ruby -- require 'cgi' print "Content-type: text/html\n\n" cgi = CGI.new value = cgi.params['file'][0] puts "file name : " << value.original_filename << "<br/>" # ファイル名 puts value.read # ファイル本文 ファイルの入力を受け付けるフォームは次のようにします。 form要素にenctype="multipart/form-data" が必要なので注意。最初設定していなくてはまりました。(未設定だとサーバーでファイル名しか取得できない) <html> <head>
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く