• ベストアンサー

記録ファイルの自動作成について

掲示板のようなCGIで記事の記録用ファイルを自動で作成することは可能でしょうか? 例えば記録件数が100件を超えた時、別の記録ファイルを自動作成し、そちらに古いものを記録するというようなものです。 ファイル自動作成のソースを教えていただくと助かるのですが、参考になるようなURLがありましたら教えて下さい。

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

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

私が説明したのは、常に最新のものを100件分記録用ファイルに保存しておき、溢れ出た 分を別の古いデータ記録用に保存する方法です。 最初の101件目に到達した時点で古い記録用ファイルが初めて作成されますので、これも 自動作成といえます(アペンドモードでもファイルがなければ自動的に作成されます)。 よくあるやり方なんで、誤解をしたのかもしれません。 >別ファイルを100件ずつとか、年号別にまとめたいという >場合はバックアップの取り方に工夫が必要になりますが、 >これもそれほど難しくはないでしょう。 それで、この部分に何もコメントがありませんが、実際なさりたいことはなんでしょう? 質問: 1. 101件目が出た時点で、それまでの記録ファイルの内容はそっくり別の古いデータ記 録用ファイルに保存し、通常の記録ファイルには101件目の1件だけでいいかの? 2. 次の100件に到達した時はどうするのか? つまり100件ずつまとめたいのかということです。 3. No2がYesの場合、ファイル名に規則は必要なのか? ファイルは「書き込み」でオープンすればなければ自動的に作られますので、質問は 『ファイル名』の自動生成のように思いましたが、正確なことは判断できませんので 補足をお願いします。

egypt
質問者

お礼

度々回答ありがとうございます。 【ファイルは「書き込み」でオープンすればなければ自動的に作られます】という部分を知りたかったです。 早速やってみます。 それと質問についてですが、1について私が間違っておりました。#1でご提示されたことでOKでした。申し訳ありません。大変恐縮ですが、うまくいかなかったらもう一度お知恵を拝借させて頂きたいと思いますので、締め切るまでもう少しお待ち下さい。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.2

ちょっとだけ訂正: 100を古いデータにアペンドモードで書き込む。 ↓ もし添え字の最大値が100だったら、100を古いデータにアペンドモードで書き込む。

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

可能です。 新規に追加する時の一番簡単な方法は、記録件数100件を例にとると、 記録100件分を配列に読み込む(普通にやれば添え字0~99になります)。 1~100に移す(たいてい専用の命令があります)。 0に新規分を代入。 0~99を書き戻す。 100を古いデータにアペンドモードで書き込む。 別ファイルを100件ずつとか、年号別にまとめたいという場合はバックアップの取り方に工夫が必要になりますが、これもそれほど難しくはないでしょう。 上記は新しいものが添え字が若い方にある時の一例です。 ソースは勘弁してください。有名どころを探せばありそうですが。

egypt
質問者

お礼

回答ありがとうございます。 せっかく回答を頂きましたが、私の説明が悪かったのか知りたいことと少し違うようです。 「100を古いデータにアペンドモードで書き込む。」とありましたが、知りたいのは100がでてきた時に、古いデータ記録用ファイルを自動で作成するというところです。ファイルを作成できれば、そのファイルを呼び出してアペンドモードで0~99を記録し、通常使う記録ファイルに新規分を書き込めは良いと思いますので。 お分かりでしたら教えて下さい。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 自動リンクの作成について

    htmlファイルでURLにアンカータグを付け忘れたり、多数のリンクさせていないURLで表示されている文字があるのですが、これを、ユーザーサイドによるjavascriptでhttp://から始まっている文字にHTML閲覧上で自動でそのアドレスにリンクが貼れるようなことができるのでしょうか? サンプル配布サイトや参考になりそうなサイトまたは、簡単なソースを教えていただけないでしょうか?

  • perl初心者 「掲示板作成」

    はじめまして、最近perlを勉強するために、買った本を参考に掲示板を作成しています。 2つほど質問したいことがあります。 ***質問*** 1:作成した掲示板で、記事を投稿し、その直後に掲示板をリロードすると、先ほど投稿した記事が再びデータファイルに書き込まれてしまいます。 これを防ぐ方法はあるでしょうか。 2:さまざまなスクリプト内でよく見かける『ENV』や『STDIN』は一般的にどのようなときに使うネーミング(?)なのでしょうか?? ******** 質問が分かりにくかったら申し訳ありません。 ソースが必要でしたらアップします。 どうぞよろしくお願いします。

  • 特定の行や列の入力を他のファイルに自動的に記録[Excel]

    ある同じ様式のExcelファイルが複数あるとします。 それらのファイルの、ある同じ行or列に値が入力されたら、 別の1つのExcelファイルに自動的に記録されていくように できたらいいなと思っています。つまりは、入力された値を、 その別の1つのファイルに集約していきたいという考えなのですが 可能なのでしょうか。 例えば、その日の来客記録を入力するためのファイルが、 月別で幾つかあるとします。そして、それらのファイルには、 一日の総来客数を入力する列があるとします。 その列に人数の値が入力されたら、別の一つのファイル (全体的な来客数の推移を把握するため用のような)にも 自動的に値が記録されていく…そういったようにしたいという感じです。 その際なのですが、月ごとにファイルがあるので、月が変わってその月用のファイルを 用意するにあたり、なるべく少ない手間で済ますことができたらいいなと思っています。 予め雛形ファイルが作成しておいて、それをコピー&ファイル名変更するくらいで すぐその月の来客記録を付けていける、というような感じで。 こういったことは出来るのでしょうか。教えて頂けたら嬉しいです。 よろしくお願いします。

  • VB.NETを使って、Visual SourceSafeのアーカイブファイルの作成を自動化するには

    いつもお世話になっております。 VSSを日時バッチによりバックアップを行うように しようとしています。 その際に、VSSのAdministratorのメニューバーの ところにある[アーカイブ] からアーカイブファイルを タスクにより自動で作成して、作成されたファイルで バックアップをとろうと考えています。 しかし、このアーカイブファイルを自動で作成するには どのようにしたらよいかがわかりません。 マイクロソフトのMSDNライブラリの 「VB.NETを使ってExcelファイルの自動化をする」 といったところを参考にしているのですが、 そこのサンプルソースがどのようなことを行って いるのか理解できずにお手上げ状態になってしまいました。 VB.NETまたはC#などを使って、Visual SourceSafeのアーカイブファイルの作成を自動化できる方法、又は 参考になるサイトなどをご存知なかたがいらっしゃいましたら、アドバイスをいただけないでしょうか? お手数をおかけいたしますが、よろしくお願いいたします。

  • PDFファイルを自動作成したい

    MSのソフトからPDFファイルを作成するときは VB等で自動作成のプログラムを作成する手法が検索 できましたが、MS以外のソフトからPDFファイ ルを自動作成したい場合、どのような方法があるで しょうか? クセロPDFを使用して作成すると、作成の度に ブラウザで宣伝ページが開き、出力ファイル名の 入力が必要になりました。 プリンタとして登録可能なPDF変換ソフトで、 フォントの埋め込み・セキュリティ設定・文書情報 の設定が可能で、保存ファイル名をPDF変換ソフ トに投げて自動的にファイル作成を行いたいのです が、このようなソフトはないのでしょうか? ソースネクストのいきなりPDFProfessional とかでも出来ないでしょうか。製品ページの説明が 曖昧でよく分かりませんでした。 よろしくお願いします。

  • フォルダを自動作成するばっちについて

    初めての投稿になります。 OKWaveで過去の記事を参考に、フォルダを自動作成するバッチを 作ったのですが、 同名ファイルを作ろうとすると、エラーも何も表示されませんが、 スルーされてしまうみたいで、フォルダ自体も作成されず、上書きもされません。 同じファイルに自動で連番を付けるなどの回避策など何かありませんでしょうか。 例、テスト   テスト01   テスト02       etc等 バッチ内容が以下になります。 set /p USER_INPUT=フォルダ名を入れてください。: mkdir "%USER_INPUT%" ご教授よろしくお願いいたします。

  • 自動メール送信CGI

    自作CGIにて、 (1)<form><input>申込フォームより送信したデーターを 指定したフォルダにファイルの自動作成にて 個人情報とNewメンバーIDのデーターを作成&書き込みをする (2)その際に、<Select>二択選択メニューにて、 Value="A"ならば指定したAのフォルダにNewファイルを自動作成して、Value="B"ならば指定したBのフォルダに Newファイルを作成させる (3)更に別の指定したフォルダに新しいファイルを自動作成して、そこには指定のXファイルを自動的にコピー&ペーストして 例)”Xフォルダ”にあった”Xファイル”を ”Newフォルダ”の”Newファイル”にコピー (4)その際にNewファイルの【ファイル名】をNewメンバーIDと同じにしてファイルを自動作成する (5)そのNewファイルの格納場所のURLをHTTP://~の形で正確に、 申込データーに記載してあったメールアドレスに自動的に定型解説文付きでメール送信する 以上の(1)~(5)の機能を備えたCGIをPerlにて作成しています。 どなたか実際に動作するソースを参照させていただけませんでしょうか? なるべく自力でやらなければと思っているのですが 書籍(専門書)なども、どれがいいのか解かりません。 もちろん手元に5冊CGI&Perlに関する専門書がありますが 自動メール送信などの記述や詳しい内容の記載&解説がありません。 事典のような引き方で調べられるサイトは知っていますが 例文が載っていないとまだ勉強不足で理解しにくいです。 どうぞ宜しくお願いいたします。

    • 締切済み
    • CGI
  • 最終更新日自動取得のようなCGIは難しいでしょうか

    お世話になります。 掲示板のログを、CGIにアクセスしただけで表示させたいと思っています。 掲示板CGIの中に下記の記述を加えているため、掲示板の中で表示させたい箇所に$allnumberと記述する事で、投稿記事の総数を表示できるようになっています。 -------------------- #総投記事数を表示 open(FH, "$room/log.cgi") or die; my $line = <FH>; my( $allnumber ) = $line =~ /^(?d*)/; close(FH); -------------------- マルチ掲示板CGIを使用しているので、$roomには各掲示板のIDが入力されます。 各掲示板の投稿数を表示する、単独のCGIスクリプトは難しいでしょうか。 最終更新日を自動的に取得して、表示するCGIのイメージです。 これらのCGI(仮に「lastup.cgi」とします)は、http://hogehoge.jp/lastup.cgi?./bbs/log.cgiと最終更新日を取得したいファイルを指定して、htmlファイルの表示させたい箇所に記述すると、指定したファイルの最終更新日が表示できるようになっているCGIがあります。 (※「./bbs/log.cgi」は、lastup.cgiから見た対象ファイルまでのパスです) (※「log.cgi」は、掲示板のログが保存されているファイルとします) このように、「http://hogehoge.com/~.cgi?./(掲示板ID)/log.cgi」と記述するだけで、htmlの好きな箇所に指定した掲示板の記事数を表示させるようなCGIはできないでしょうか。 私はこれまでにCGIをいくつか設置した経験や、改造した経験はありますが、いつもネットで検索して分かる範囲で簡単な改造しかできません。 お手数ではありますが、できる限り詳しく教えて頂けると嬉しく思います。 お力添えを頂けると助かります。 何卒、よろしく御願い致します。

  • 送信記録に自動でチェックが入るのを解除したい

    年賀状などを作成するこの時期になると、封筒やハガキの印刷時に「送信したことを記録する」に自動でチェックが入ってしまい、気づかず印刷してしまうと「2020年の年賀状を送った」というような感じで間違った情報が記録されてしまい困っています。 毎回印刷時にチェックを外せばいいのかもしれませんが、自動でチェックが入るように設定されているのを解除する方法があれば教えてください。 普段はチェックが外れていますが、年賀状や暑中見舞いの時期が近づくといつのまにかチェックが入っています。 ※OKWAVEより補足:「ソースネクスト株式会社の製品・サービス」についての質問です。

  • test.cgi?=3215とかってよく見ますが、あれってどうやって自動生成するんですか?

    こんにちわ。掲示板とかのURLでxxx.cgi?=5621とかってありますが、あれってどういうふうな自動生成の仕方があるのですか?

    • ベストアンサー
    • CGI