dポイントプレゼントキャンペーン実施中!

元のファイルを処理して新しいファイルとして保存するCGIを組もうと思います。

新しいファイルの保存フォルダの指定で困っています。

<input type="text" name="Filename" size="100">

とやると、新しいファイルを保存するフォルダも全部手入力です。複数の人が使う予定です。使う人によって保存フォルダは違います。そこでフォルダ指定をグラフィカルに出来たら良いなと思いました。

そこで
<input type="file" name="Filename" size="100">

とtype属性を変えてみました。なかなか使い勝手が良いなと思ったのですが、"file"はアップロードするファイルを指定する際に使うもので、保存するファイルの指定には使えません。

何か良い方法はないでしょうか。

A 回答 (2件)

>複数の人が使う予定です。

使う人によって保存フォルダは違います。
 なら、少なくともHTMLに記述するのは避けるべきですね。なぜならソースを見るだけで他人のフォルダーが丸見え。メール送信フォームにアドレスを記述するのと同じです。

 いずれにしろ、何らかの方法でユーザーを特定して、サーバー側で内々に指定すべきです。そのためには、認証システムを導入されているはずですが、それによって保存先を決めてしまえば良いです。次善の策として出力されるHTMLを変更するのも良いでしょう。
    • good
    • 0

・『サーバーにおいてある』元のファイルを処理して『サーバー上の』新しいファイルとして保存するCGI


・新しいファイルを保存する『サーバー上の』フォルダ

でよろしいですか?
name="Filename" で受け取るのは「『サーバー上の』ディレクトリ/新しいファイルの名前」でよろしいですか?

もしそうなら、
・ディレクトリは、Perlの globやreaddirを使って取得→ selectタグやtype=radioを使って選択させる
・type="text" name="Filename"ではファイル名だけ入力させる。(/は不正な文字として置き換えたり拒否したりする)
という方法があります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!