人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

参照ボタン(例:http://www.dspt.net/html_tag/008_data/012.html)からtxt形式のファイルを読み込み、それをテキストボックスで編集し、ボタンをクリックで保存できるページを作るには、どのようなPerl(またはphp)やHTMLのコードを書けば良いですか?良回答には100ポイント差し上げます。

●質問者: totoiro
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:HTML Perl PHP txt クリック
○ 状態 :キャンセル
└ 回答数 : 3/3件

▽最新の回答へ

1 ● Cherenkov

>どのようなPerl(またはphp)やHTMLのコード

"や"の部分のrubyも含まれると信じてサンプルをつくってみました。


概要


準備

  1. rubyが動作する環境を用意する。
  2. "gem install sinatra" でsinatraをインストールする。
  3. 以下のサンプルコードをsave_text.rbなどのファイル名で保存。
  4. ruby save_text.rbで実行し、http://localhost:4567/ にアクセスする。

使い方

  1. トップページでテキストファイルを選択し、loadボタンを押すと、編集画面に移動する。
  2. テキストエリアで編集後、saveボタンを押すと、save_text.rbと同じ場所に同名のファイルが作られる。元ファイルは変更していない。
  3. 保存完了を示すページに飛ぶ。

#!/usr/local/bin/ruby
require 'rubygems'
require 'sinatra'

get '/' do
src = <<"EOS"
<form method="post" action="/" enctype="multipart/form-data" />
<input type="file" name="textdata" />
<input type="submit" value="load"/>
</form>
EOS
 response.body = src
end


post '/' do
 text = params[:textdata][:tempfile].read
 filename = params[:textdata][:filename]

src = <<"EOS"
<form method="post" action="/" enctype="multipart/form-data" />
<textarea name="savetext" cols="60" rows="10">#{text}</textarea>
<input type="hidden" name="_method" value="put">
<input type="hidden" name="filename" value="#{filename}">
<br>
<input type="submit" value="save" />
</form>
EOS

 response.body = src
end


put '/' do
 text = params[:savetext]
 filename = params[:filename]

 open(filename, "wb") do |fh|
 fh.write text
 end
 redirect '/saved'
end

get '/saved' do
 "complete"
end
◎質問者からの返答

回答ありがとうございます。

rubyでも問題無いのですよ。ただ、″gem install sinatra″はどうやってどこにインストールするのかがわかりません。やはり、pcにもrubyを入れなければ出来ないのでしょうか?また、このrbファイルをhtml同様にアップロードするだけで良いのでしょうか?


2 ● ko8820

Webブラウザからサーバ上のテキストファイルを編集可能に - Web Editor

http://0-oo.net/sbox/web-editor

----

?ブラウザでファイルを選択して、サーバーに転送

?サーバーに転送されたファイルを編集

◎質問者からの返答

回答ありがとうございます。

これは、サーバーにアップしないと編集できないようですね。


3 ● Cherenkov

コメント欄が有効になっていないのでこちらに書きます。

ruby -v
gem -v
gem list

-vが付いているのはバージョンが表示されたらok。

gem listにsinatraの名前があればok。

やりたい事はいわゆる"cgi"だと思うので、使用したい言語と一緒にググれば例をすぐ見つけることができるでしょう。

sinatraは簡単にウェブアプリをつくるためのプラグインのようなものです。

また、sinatraに対応したherokuというサービスを利用すれば無料でアプリを公開することができるのでおすすめです。


関連

◎質問者からの返答

回答ありがとうございます。ローカルでは実行できました。

しかし、herokuにどうしてもコマンドプロントプトからアップロードできません。(herokuのアカウントは作りました。)

herokuにアップロードするにはどのようにすれば良いでしょうか?質問ばかりですいません。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ