• ベストアンサー

ファイルのダウンロード

小生それ程Perlに精通しておりませんので、あんまり難しいコードは理解できません。この間、ひーひー言いながら、このサイトのお力も借り、HTMLフォームからデータエントリするとWebサーバー上のテキストファイルでのデータベースに追加されていくシステムを作ることができました。そこでWebサーバー上にある、テキストファイルをローカルコンピュータにダウンロードするPerlのプログラムコードを知りたいのです。 お力添え宜しくお願いします。

  • Perl
  • 回答数3
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

サーバーにあるテキストファイルをダウンロードするプログラムですか。 しかし、アドレスバーにそのファイルのURLを打ち込めば、そのテキストファイルを表示・保存できると思いますけれども? もしくは普通にリンクをはるとか。 テキストファイルそのままではなく、perlで整形なりするならダウンロードも意味があるでしょうけれど。 それともファイル名が動的に変更されるとか? ともかく、 例えばボタンを押せばテキストファイルのダウンロードが始まるようにするには、ですよね。 スクリプトの書き出すヘッダを Content-type: text/download にすれば、CGIの実行結果がダウンロードされるようになりますよ。

souta_n
質問者

お礼

>アドレスバーにそのファイルのURLを打ち込めば、 >そのテキストファイルを表示・保存できると思いますけれども? あっ、ほんとだ!なるほど! ブラウザって拡張子がhtml以外でも表示できるんですね。ありがとうございました。

その他の回答 (2)

回答No.3

私は、LWPモジュールを使って取得したことがあります。 ---以下サンプル lwpsimp.pl ---- use LWP::Simple; $doc = get $ARGV[0]; print "$doc\n"; ---サンプル終了---- 実行方法 perl lwpsimp.pl http://localhost/ > out.txt でout.txtに出力されてるはずです。

参考URL:
http://digit.que.ne.jp/work/index.cgi?Perl%A5%E2%A5%B8%A5%E5%A1%BC%A5%EB%2FLWP
souta_n
質問者

お礼

これは先々役に立ちそうです。ありがとうございました。

  • sisya
  • ベストアンサー率39% (97/245)
回答No.1

データエントリと言うのは恐らくクエリー送信の事だと思うのですが、テキストファイルでのデータベースと言うのはどういう物なのでしょうか? 通常データベースと言うとSQLのRDBやXMLなどを思い浮かべるのですが使用しているデータベースが何かわかりますか? もしくは 「Webサーバー上のテキストファイルでのデータベース」 ↓ 「サーバ上にopenコマンドなどで作成したファイルにテキストデータを追加保存している」 と言う事なのでしょうか…

souta_n
質問者

補足

すいません。データベースというには大そうでした。 openコマンドでテキストデータにタブ区切りでデータ追加しているということです。データを保存しているファイル名も○○.txtです。別にデータは他のファイルとリレーションやリンクなどしていない単独のものです。

関連するQ&A

  • サーバーのテキストファイルをダウンロード

    Webページに「ダウンロード」というボタンかリンクがあり、それをクリックするとローカルコンピュータにWebサーバーにあるテキストファイルをダウンロードできるCGIを作成したいのですが・・・ 以前に同じ質問を上げたら「Content-type: text/download 」としたらいいよ・・・と教えたもらったのですが、もひとつピンとこなくて、簡単なコーディング例みたいなものを誰か教えてください。 それだけわかったら自分でなんとかしろよ!と思われるかもしれませんが小生Perl初心者の為、???なのです。

    • ベストアンサー
    • Perl
  • テキストファイルの読み込みをするswfムービーが単独では表示可能だがHTML

    テキストファイルの読み込みをするswfムービーが単独では表示可能だがHTMLファイルだと読み込まない。 ということが起こっているのですが、 HTMLファイルの文字コードをSHIFT-JISにしてもUTF-8にしても結果は同じ状態です。 ローカルでもサーバーでも単独ではテキストファイル読み込み(表示)をするのに、HTMLファイルを通すと読み込みしないのはどうしてでしょうか? HTMLファイルと他のファイルとの間の問題かな・・と考えているのですが、さっぱり検討がつきません。 どなたかお分かりの方いらっしゃいましたらご教授願います。

  • ファイル(PDF・エクセル・ワード)のアップロード、ダウンロード機能の作成

    Perl/CGI初心者です。 仕事でホームページの改良をする事になりました。 現状は、そのホームページでは掲示板、アクセスカウンタ等をCGIで組んでいます。 今回、ファイル(PDF・エクセル・ワード)のダウンロードの機能を追加することになり、 さらにダウンロードするファイルを管理者が追加・削除できるようにしたいとの要望です。 サーバーはレンタルサーバーで現在の契約プランではデータベースは構築できません。 なので、画面から入力した対象ファイルのパスをテキストに保存し、 それをHTMLで表示した時にリンクできるようにできないかと考えています。 ファイルのダウンロード機能についてはPerlでもいくつか手段があるというところまで調べたのですが、 一般的にはダウンロード機能はPerlとPHPのどちらで作成するのが理想なのでしょうか? 場合によっては現在CGIで動いている部分をPHPで作り変える事も検討するつもりです。 ホームページ作成は初めてで周囲にも経験者が居ません。 基本的な事が、まだ理解出来ていない部分もありますので、 質問内容が意味不明かもしれませんが、お力添えお願いします。

    • ベストアンサー
    • Perl
  • ファイルの読み込み操作のコーディングについて

    perlのファイル読み込み操作についての質問です #!/usr/local/bin/perl #ファイルの読み込み open(FILE,"<diary.txt"); $data = <FILE>; close(FILE); #サーバー出力 print <<END; Content-type: text/html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html> <head> <title>ファイルの読み込み</title> </head> <body> <h5> <p>$data</p> </h5> </body> </html> END 次のように、perlのコードを書いて無料の CGIの使えるレンタルサーバーに 設置したところ、エラーが出てしまいます dairy.txtはこのファイルと同じディレクトリで パスも間違えてないです、いろいろ自分で調べてみたんですが どこが間違えているかわかりません よろしかったらどなたかperlに詳しい方がいらっしゃったら 間違えている箇所を教えていただけないでしょうか?

  • ダウンロード→解凍したファイルが見つからない

    HPにメールフォームを作成したく、初心者でもできそうな無料サイトよりファイルをダウンロードしました。手順どおりに作業している中で、メールフォームのHTMLファイルを、ホームページビルダーを使い編集しようとしましたが、『開く』で該当ファイルを探してもみつかりません。ちなみに解凍→ファイルを展開させて、そのファイルが存在する場所は分かります。(ローカルディスク→document and setting→Owner→Local setting→・・・このLocal settingがありません)ファイルを『開く』際に、ファイルの種類は"全て"になっているし、色々触ったり、検索もしてみましたがどうしても見つけられません。 何か大きな勘違いでもしているのでしょうか? どうかご指導ください。よろしくお願いします。

  • perlでサーバー内ファイルの日付を取得してHTMLに書き出す方法

    サーバー内のファイルが書き換わると、そのサーバー内のWEBページの日付が変わるスクリプトをつくりたいのですが、perlでサーバー内のファイルの日付を取得することはできますか、またHTMLに書き出すにはどうしたらいいのでしょうか。

    • ベストアンサー
    • Perl
  • ストリーミングファイル(動画)が見れません

    ストリーミング(動画)専用サーバーを借りました。 一般のWebサーバーは他社からホスティングしています。 今回借りたストリーミング専用サーバーのしくみは、 そこに、*.wmvファイルをUPし、 それを間接的に読み込むために、WebサーバーにメタファイルをUPし、さらにHTMLファイルからリンクを貼って見る。というしくみなのですが・・・ HTMLファイルにアクセスしても、メタファイルにアクセスしても、全く見る事ができません。 どころか、メディアプレイヤーが立ち上がりすらしないのです。 ちなみにローカルでは見る事ができるので、パスは間違っていないはずなのですが・・・ Webサーバーのほうが、メタファイル(もとはテキストで書いて、拡張子を書き換えて保存するというもの)を認識していないのか?と問い合わせたのですが とくに制限をかけているわけではないので その可能性はないという回答でした。 ストリーミングサーバーは問い合わせ先がメールフォームしか無く、回答に時間がかかりそうなので・・・ しかし急いでいるのでとても困っています。 以下の可能性はチェック済みです。 ・パス。ローカルで動くので間違いはないと思います。 ・属性。CGIではないので関係ないかなぁとは思ったのですが、一応色々変えてみました。ダメでした。 ・サーバーにUPするときのモード。ちゃんとバイナリモードにしています。 ・メディアプレイヤーの設定。ちなみにWinXPでメディアプレイヤーも最新バージョンにして確認しました。他サイトの動画は見れるので関係ないかと思います。 ほかに考えられる可能性はあるでしょうか? わかりにくくてすみません。不明な点がございましたら補足いただけたらと思います。 よろしくお願いします。

  • 添付ファイル Perl メール

    いつもお世話になっております。 タイトルについて教えてください。 ホームページにてお問い合わせフォームを作成しましたが 画像(添付ファイル)も送れるようにしたいのですが、どのようにすればいいのでしょうか? HTMLの方は下記で十分なのでしょうか? <input type="file" name="添付ファイル"><br> そこからPerlでのコードはCGI.pmのみでいけるのでしょうか? 例えば、 添付ファイルといってもあまり容量が大きすぎると、サーバー側に負担がかかってしまうため ??メガまでといった設定や、拡張子(jpg,png,gif,pdf,xlex,xlem)などといった拡張子指定 といった機能もほしいところです。 どうかお力添えをお願い致します。 補足 ~メガや拡張子はjavascriptでもいいのかな・・・?

    • 締切済み
    • CGI
  • perl cgi 「ファイルをダウンロード」

    perl cgiを作っています。 ファイル(例えば.csv)をperl側で作って、 ユーザがローカルコンピュータのこのみの場所(あるいはwindowsなら「ダウンロード」に固定でも可)にダウンロードできるようにしたいのですが、ダウンロードさせる部分をどうコーディングすればよろしいでしょうか?

    • ベストアンサー
    • CGI
  • 作成したHTMLフォーム画面の記載内容をテキストファイルに書き出す方法

    超初心者です。 ローカル環境で、作成したHTMLフォーム画面の 記載内容をテキストファイルに書き出す方法は どのようにすれば良いでしょうか? HTMLだけでは無理な様なのは分かっているのですが、 javascriptもPHPも分からないので、 出来ればサンプルコードを希望致します。 自分のPCには、Apache2.0とPHP4が入っていますが、 作れれば何でもかまいません。 お分かりの方、よろしくお願い致します。

専門家に質問してみよう