• 締切済み

cgiのsystem関数を用い、ファイル作成したい

edomin7777の回答

  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.1

全く見当外れのことを言うかもしれないが…。 result.txtを書き込もうとしているディレクトリに、書き込み権限はあるの?

tanaka5667
質問者

お礼

>edomin7777様 ご回答ありがとうございます。 書き込み先のディレクトリのには、 chmod 755 /var/www/cgi-bin としており、書き込み権限は付与しています。 コマンドが違うのでしょうか?

関連するQ&A

  • CGIに関して

    CGIに関してなのですが、CGI実行ディレクトリ名binーcgiにすると言う点で困っています。今、掲示板をHPにアップしようとしているのですが、掲示板設置のマニュアルでは以下の通りとなっています。とりあえず、以下の作成が全然全く分からなくって困っています。分かる方がおられましたら是非ご回答下さいますようお願いいたします。 ホームディレクトリ(ここではpublic_htmlディレクトリとします) の下に、cgi-binディレクトリ(フォルダ)を作成し、必要なファイルををFTP 転送します。全体のディレクトリ構成とファイル位置は以下のとおりです。 public_html / index.html (トップページ) | +-- cgi-bin / ????.cgi ????.log jcode.pl 背景画像など ※ちなみに、ディレクトリ実行はbin-cgiとあります。

  • cgiを使ってサーバ上にファイルを作成する方法

    無料のサーバスペースを使用してHPを作っています。 perlを使って自作したcgiをwindowsのコマンドラインで実行すると open(F,">oceco.txt"); print F "oceco\n"; close(F); この記述でファイルが新規作成されるのに、サーバー上のcgiで実行するとファイルが新規作成されません。 しかし、空のoceco.txtをFTPでサーバーに送って属性変更を済ませ、cgiを実行するとoceco.txtの中身が変更されます。 同じサーバでフリーの掲示板cgiを使用していますが、ログファイルを新規作成できています。 そこで質問です。 cgiをつかってサーバ上でファイルを新規作成する方法を教えてください。

    • ベストアンサー
    • Perl
  • perl(CGI)から作成したディレクトリがFTPで消せないのはなぜ?

    HTMLページからそのCGIを叩くと『年月』の名前のディレクトリを作って、 その中に日毎のアクセスログファイルを作成するCGIを作っています。 ディレクトリを作成するパールは以下です。 mkdir($dir, 0777); しかし実行すると$dirのパーミッションは755になってしまいます、 その中に作成されるファイルは正常に作成されるのですが、 そのディレクトリ/ファイル共にFTPから削除/パーミッションの変更が 出来なくなってしまいます。 telnetから入って削除しようとしても普通のユーザー権限では無理で 削除する為にはルートにならなければなりません。 なぜでしょう?FTPから操作できる権限のディレクトリを作る方法が あるのでしょうか? バカな質問だと思いますが分かる方がいらっしゃいましたら教えて下さい。

    • ベストアンサー
    • Perl
  • レンタルサーバーlolipop cgiのパーミッションについて

    lolipopというレンタルサーバーを使っているのですが、パーミッションの設定が、cgiの取説と違っていて分かりません、、。 取説のパーミッションだとエラーが起きます。 ちなみに、lolipopが推奨するパーミッションは HTML・画像ファイル 604 (rw----r--) CGIの実行ファイル 700 (rwx------) CGIのデータファイル 600 (rw-------) .htaccessファイル 604 (rw----r--) ディレクトリ 705 (rwx---r-x) なのですが、 .pl などのファイルは何なのか さっぱりです。 私は、http://happy.honesto.net/cgi/ のサイトの FormMailerDX を作りたいのですが、 パーミッションの設定が分かりません。 お分かりになる方 教えてください。 FormMailerDXの取説は以下の通りです。 /fmdx/(755) | +--form.cgi(755)実行ファイル | +--sample.htm(644)フォームHTML | +--template.txt(666)メールテンプレートファイル | +--template2.txt(666)確認画面テンプレートファイル | +--jcode.pl(644)日本語コード変換ライブラリ | +--mimew.pl(644)MIMEエンコードライブラリ | +--/tsv/(777)TSVファイル作成ディレクトリ(空のディレクトリ) | +--/tmp/(777)添付ファイル一時保存ディレクトリ(空のディレクトリ) よろしくお願いします。

    • ベストアンサー
    • CGI
  • CreateFile関数を用いたファイル作成について

    VisualC++のCreateFile関数を用いて「作成日時が1週間前であれば ファイルをリネームして保存後、以前のファイル名で 空ファイルを作成する」という処理を作っています。 (作成中の関数の抜粋) /* リネーム処理 */ ret_code = MoveFile(logfile_path, rename_path); if(ret_code == API_NG){ return(NG); } /* 以前と同じ名前でファイルを新規作成 */ hfile = CreateFile(logfile_path, GENERIC_WRITE,FILE_SHARE_WRITE, NULL,CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, FILE_FLAG_NO_BUFFERING); if( hfile == INVALID_HANDLE_VALUE ) { return(NG); } CloseHandle(hfile); } return(OK); } リネームする以前と同じ名前でファイルを作成すると ファイルの作成日時がリネームする以前の作成日時になってしまいます。 (例) 4月1日に「aaa.txt」を作成→ 4月8日に「aaa_0401.txt」にリネーム後、新規に「aaa.txt」を作成すると 作成日時が「4月1日」になってしまう。 Microsoftのページによると、キャッシュファイルの情報を取得しているために 以前の作成日時にてファイルが作成されてしまうようです。 http://www.microsoft.com/JAPAN/developer/library/jpwinpf/_win32_createfile.htm 原因は分かったのですが、対処方法が思い浮かびません。 上記問題を解決するにはどういった方法がありますでしょうか? ご教授をよろしくお願いします。

  • shell関数について

    毎度、お世話になっています。 現在、C言語で書いた複数のプログラムをBATファイルで処理するように記述しています。VBでその制御を行っているのですが、VBの処理手順として子フォーム(textあり)にデータを書きこんで、ボタンを押すとshellでbatファイルを起動し、バッチファイルの結果として、あるディレクトリにresult.txtが作成され、VBで他の子フォームに読みとらせようとしているのですが、shellだと、実行の終了を待たずに次にいってしまうので、そのバッチファイルの実行処理が終わらず、result.txtの内容を読み込むことができません。 待つようにするにはどうすればよいのでしょうか? ちなみにVBは一週間前にはじめて、自分でも調べてなんとか作ろうとしたのですが、時間がないため、ここに質問させていただきました。なるべく簡単なアルゴリズムで、よろしくお願いします。 VBのプロセス    テキストにデータを書き込む      ↓     ボタン   →        テキストの内容を*.txtとして保存                        ↓                      バッチファイル起動    ↓(ここで右の実行を待たない     ↓     ので読み込むことができない)   C言語で書かれたプログラム実行                        ↓ result.txtを    ←        結果としてresult.txtが出来上がる 読み込んで表示     

  • filename="./foo"等と書く気持ちは?

    HTMLだと <a href="./foo.html"> とか、プログラムだと FILE="./foo.txt" とか、カレントディレクトリのファイルを指定するときに、./ を付けるのをたまに見かけます。 これはどういう気持ちで書いているんでしょうか? 一応、考えたのは、Unix/Linuxだとカレントディレクトリの実行ファイルを実行するときは、./foo のようにしないといけないので、これで困った経験のある人が、「羮に懲りて膾を吹く」ということで付けているのかと思いましたが、それだけでもない気がして質問してみました。 開発ツールとの連携で、こう書いておくと便利なことがあったりするのでしょうか?

  • CGIのリンク

    CGIの index.cgi?m=admin& から2階層上のディレクトリの index.cgi? に戻るリンクアンカーが <a href="?">フォーム</a> ってなってましたが この?マーク、これは正しいですか? 正しいアンカーの書き方があれば教えて下さい。

    • ベストアンサー
    • CGI
  • ファイルの作成日時について

    職場で簡単なファイルのバックアップPGをWSHで作っていますが ファイルの作成日時が思うように入ってくれません。 WSHの流れは下記にしたいと考えています。 (1)前回分のファイルを作成日時を末尾に付けてリネーム (2)WSHからバッチを呼び出して、ファイル作成 (2)でファイルが作成はされるのですが、(1)の処理でリネームした ファイルの作成日時(実行時間より古い時間)が入って作成されてしまい、(2)が実行された 日付が入ってくれません。 ちなみに、更新日時アクセス日時は(2)の実行時間が入ります。 環境は以下になります。 OS:Windows7Pro SP1 →この先WindowsSV 2008R2で実行させたいと考えています。 Windowの仕様なのか、どうなのか、わからないのですが どなたか何か回避策をご存じの方がみえれば、ご教授をお願いいたします。 テストで作成したWSHとBatのソースを下記に貼り付けます。 WSH *************************************** option explicit '変数定義 Dim objFso Dim objFile Dim objWShell 'オブジェクトの生成 Set objFso = Wscript.CreateObject("Scripting.FileSystemObject") Set objFile = objFso.GetFile("C:\testDir\File-A.txt") 'ファイル名変更 objFso.GetFile("C:\testDir\File-A.txt").Name = "File-B.txt" 'オブジェクト解放 Set objFile = Nothing 'bat実行 Set objWShell = CreateObject("WScript.Shell") objWShell.Run "C:\testDir\echo.bat", 0, True 'batで作成したFile-Aのオブジェクト生成 Set objFile = objFso.GetFile("C:\testDir\File-A.txt") 'オブジェクト解放 Set objWShell = Nothing Set objFile = Nothing Set objFso = Nothing WSH *************************************** Bat **************************************** echo AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA > C:\testDir\File-A.txt Bat **************************************** 以上、よろしくお願いします。  

  • CGI実行ディレクトリ以下の画像やHTMLファイルをブラウザから表示(

    CGI実行ディレクトリ以下の画像やHTMLファイルをブラウザから表示(参照)できるかCGIを使って判定したいのです、SOCKETを使ってURLで呼び出し返ってくるコードを判定すればいいのはわかるのですがSOCKETでの応答ができないサーバーもあり不確実です、もっと簡単に確実にCGIで判定する方法はありますか?

    • 締切済み
    • CGI