• ベストアンサー

空のファイル

PERLでcgiを作っているんですが、 空のファイルはどうやったら作れますか? log1.dat log2.dat log3.dat といった空のファイルを作りたいのですが・・・。 よろしくお願いします。

  • CGI
  • 回答数4
  • ありがとう数1

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

  • ベストアンサー
  • HUTABA
  • ベストアンサー率27% (436/1611)
回答No.1

ファイルを読み書きモードでopenすると、対象のファイルが存在しない場合、作成を試みます。 open (FILE, "+> log1.dat"); ただし、この際ファイルを作成するディレクトリに書き込み権限がないといけません。 logディレクトリを作成し、パーミッションを777にした上で、そこにファイルを作成すると良いと思いますよ。

mulala
質問者

お礼

有難うございました。 サーバーでテストしたらパーミッションで引っかかったので、 ご指摘されたディレクトリの部分の注意がとても役に立ちました。

その他の回答 (3)

  • the845t
  • ベストアンサー率33% (246/743)
回答No.4

Windowsであれば、 右クリック→テキスト文書→名前を変更。 これを3回やるだけです。

  • bikkuri
  • ベストアンサー率33% (23/68)
回答No.3

なんとなく、プログラムからではなく「手動で空のファイルを作りたい」のような気がしたので、 その場合 touch log1.dat あるいは、 cat /dev/null > log1.dat あたりが一般的ではないかと。 プログラムからの場合でしたら、無視してください。

  • megawind
  • ベストアンサー率39% (101/255)
回答No.2

空きファイルの作り方は メモ帳などのテキストアプリで「新規作成」、そのまま中身なにも書かずに「名前を付けて保存。名前をlog1.datにすると、HDDにlog1.dat.txtというファイルができる、それをファイル名変更で「.txtの部分削除」すれば空きのDATファイルができる。

関連するQ&A

  • apeboard+にて旧.datファイルのログを表示させられない

    apeboard+にて以前のログを表示させたいのですが、何度チャレンジしてもうまくいかないため、詳しい方にお知恵をお貸し頂きたく質問させて頂きました。 そもそも、datファイルを少し触ってアップしなおしたところ、掲示板にログが表示されなくなってしまい、パスワードも受け付けなくなってしまいました。 そこで、同じ名前をつけた空のdat(0bite)ファイルをアップロードし、新たにパスワードを設定した後、そのdatファイルをダウンロード。一行目に書かれているパスワードの暗号をコピー。そして、ログデータの入った旧datファイルの一行目に暗号をペーストして、アップロードしました。 ※アップロードするdatファイルのファイル名は、boardni.cgiのデータファイルの場所を示す部分と同じ名前であることは確認しております。 空のdatファイルでパスワードを指定した時は管理画面へのパスワードを受け付けてくれるのですが、一行目を書き直した旧datファイルをアップロードしなおすと、パスワードを受け付けなくなり、古いログも表示してくれません。新しい書き込みは表示されますが、クッキーをオンにしてパスワードを入れて書きこまないと、表示がおかしくなります。 試しに、空のdatファイルに一行目の暗号だけを記載してアップロードしてみたのですが、同じ現象がおきました。 上記において、何か手がかりになりそうな事がありましたらアドバイス頂けると助かります。

    • 締切済み
    • CGI
  • Perlでファイルの新規作成

    Perl中級者です。 フォームから受け取ったデータの一つをファイル名として 新たにデータ保存用のファイルを自動生成することは可能でしょうか? ログを定期的に別ファイルとして保存する掲示板や、cgiファイルさえ設置すれば必要なデータ保存用ファイル(空ファイル)を自動生成してくれるようなスクリプトを見かけますので、不可能ではないと思っているのですが・・・。 <作りたいスクリプトの概要> 1.管理者が管理用フォームで文字列Aを登録する。 2.A.datという名のファイルが自動生成される。 3.閲覧者がAについて閲覧者用フォームで送った内容がA.datに書き込まれる。 4.管理者用ページでA.datの内容が一覧表示される。 というもので、2の部分が分かりません。 可能であるならば、その方法をご教授願います。 不足情報がありましたら補足します。

    • ベストアンサー
    • Perl
  • cgiの空ファイル?の作り方を教えて下さい

    よろしくお願いいたします。 現在あるフリーのソフトを使用しようと思い、設定していたのですが、そのなかで -------------------------------------------------- 「config.php」で指定した名前の空のファイルをdataディレクトリに作成する。   例:「maillog.cgi」「sign.cgi」「deny.cgi」 ---------------------------------------------------- ↑↑ と上記のような説明があったのですが、どのようにして作ればいいのでしょうか? phpとかの空ファイルなら作ることができるのと思うのですが、cgiには全然詳しくないので質問させていただきました。 すいませんが、何とどよろしくお願いいたします

    • 締切済み
    • CGI
  • ファイルの存在チェック

    毎度お世話になっております(・_・;A perl CGIで掲示板を作成しております。 一番初めに、書き込み用datファイルが存在するかをチェックしたいのですが、 どのように記述すれば良いのかわかりません。 もし[xxx.dat]が存在しなければ{     &error("xxx.datが存在しません"); } という感じにしたいのですが、どうやってファイルがあるのか調べれば良いのでしょうか。 宜しくお願い致します。

    • ベストアンサー
    • Perl
  • ファイルの転送モード(Euc Jis 無変換)について

    ファイルの転送モードについてわからないので質問させてください。 ソフトはffftpを使用しています。 txt html cgi dat(bbsのログ) などはアスキーモードで転送するというのはわかったのですが、ffftpのメニューにある Euc Jis 無変換はどのように使い分ければよいのでしょうか?以下のファイルの場合、どれを選択すればよいか教えてください。また無変換で転送しなくてはいけないものにJisなどを使用した場合、何か問題は起こりますか?(特に掲示板のログファイルやCGIファイルなど) アスキー *.html *.cgi *.dat(bbs のログ) *.pl

  • CGIが読み書きするファイルで

    「log.txt」、「log.dat」、「log.cgi」などがありますが、 この三つの違いは何でしょうか?

    • ベストアンサー
    • CGI
  • このファイルどうしたらいいの

    Publicフォルダの中にNTUSER.DAT NTUSER.DAT.LOG1 NTUSER.DAT.LOGの3つのファイルが存在します。どういう意味のあるファイルですか?削除してもいいんですか?教えてください。

  • バイナリファイルの出力

    「test.dat」というファイルをブラウザから ダウロードさせるためにバイナリ出力をしたいのですが、 空ファイルばかりできて上手くいきません。 以下のようなコードなのですが、どこが悪いでしょうか? ご教授ください。お願いします。 症状:ブラウザからダウンロードすると、ファイル名は正しいが 空のファイルになっている 環境:perl 5.8.7 windows server2003 ----------------------------------------------------------- #!/usr/local/bin/perl print "Content-Disposition: attachment; filename=\"test.dat\"\n"; print "Content-Type: application/octet-stream\n\n"; open(IN, "test.dat"); binmode(IN); binmode(STDOUT); print while (<IN>); close(IN); -----------------------------------------------------------

    • ベストアンサー
    • Perl
  • 空メールシステムについて

    よくメールマガジンサイト(携帯版)で見かけるのですが、空メールを送信して登録、解除できるサイトがあります。このような仕組みを是非CGIで実現してみたいとおもっていますがこのようなものはCGIで実現可能なのでしょうか?今回は、メールが飛んできたらログファイルにそのメールアドレスを書き込むと言うものだけでかんがえています。 もしできるとするならは、 1.空メールが送られてくるたびにCGIを起動させる方法 2.空メールのヘッダーを読み込みそれを送信元アドレス取得する方法 この2点が質問ないようです。またこれ以外にも他の方法はありますか? ちなみに僕のサーバー環境はrimネットのホスティングサービスを利用していいます。 1の質問でどうやら.forwardのなかに"|exec /home/user/script"を記述して #!/usr/local/bin/perl  while (<STDIN>){処理} とすれば/home/user/scriptはメールを送られてくるたび実行されるらしいのですがうまくいきませんでした。 この山はどうしても越えたいのでどなたかご教授よろしくおねがいします。

  • 圧縮時に空のフォルダを残すには

    ファイル圧縮時に空のフォルダを残すにはどうしたらいいでしょうか。 例えば abcフォルダに、file.datというファイルとfoldという空のフォルダがあるとします。これを圧縮したいのですが、file.datは圧縮されますが、foldフォルダは消えてしまいます。空のフォルダにしないでその中に何かファイルを入れておけば消えないのですが、空のままだとだめなようです。 lhaplus,lhaca,lhazなどフリーソフトをことごとく使ってみましたが、空のフォルダを残しておいてくれるソフトが見つかりませんでした。 何かいいソフトはないものでしょうか。