ディレクトリ作成問題

このQ&Aのポイント
  • mkdirコマンドを使用してディレクトリを作成できません。
  • CGIスクリプトでディレクトリを作成する方法を教えてください。
  • MacOSXのパソコンで試していますが、サーバ側の問題ではないと思います。
回答を見る
  • ベストアンサー

mkdirについて

あるページにおいて、サブミットを押したらディレクトリを作る、というものを作ってみたのですが、ディレクトリが出来ません。。なぜなのでしょうか??? このページのサブミットを押すと、、 <html><body> <FORM ACTION="/cgi-bin/test.pl" METHOD="POST"> <INPUT TYPE="submit" VALUE="Submit"> </FORM> </body></html> ↓ ↓ このCGIでディレクトリを作るようにしたいのですが。。 #!/usr/bin/perl print "Content-type: text/plain", "?n?n"; $mkdir = "/bin/mkdir"; $dir = "/tmp/testdir"; @test = ($mkdir, $dir); system @test; 家のパソコン(MacOSX)で試していますので、サーバ側の問題ではないと思います。mkdirなどのパスも確認したのであっていると思います。分かる方、お願いします。

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

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

  • ベストアンサー
  • butarou
  • ベストアンサー率24% (7/29)
回答No.1

サーバの/tmpディレクトリのパーミッションはどうなっていますか? CGIを実行するユーザの書き込み権限がなければ、ディレクトリは作成できないと思います。

candlefire
質問者

お礼

あーー、なるほど!! 解決いたしました。 本当にどうもありがとうございました。

関連するQ&A

  • cgi実行ディレクトリをデフォルト以外に追加設定する方法

    apacheのcgi-bin/のディレクトリはデフォルトだと、 DIR: /usr/local/apache/cgi-bin/ に設定されていると思います。 さらに実行出来るディレクトリを追加してあげる場合 httpd.confのScriptAliasを 手順的に追加するだけで出来るのでしょうか? 例 ScriptAlias /cgi-bin/testdir/ "/home/test/testdir/" <Directory "/home/test/testdir"> Options +ExecCGI </Directory>

  • CGI/perlのエラー

    CGIのテストをしています。 サーバーはUbuntu14.04 htmlで <html> <head><title>HTMLサンプル</title></head> <body> ボタンサンプル<br> <form action="cgi-bin/test.cgi" method="post"> <button type="button">ボタン</button><br> <input type="submit" value="送信"> </form> </body> </html> test.cgi #!/usr/bin/perl system = ("date >> webwrite""); 実行すると End of script output befor heads: test.cgi のエラーで止まってしまいます。 ファイル webwriteは作成されています。 何か、終了処理が必要なもでしょうか?

  • フォームからCGIを起動できない

    こんばんは。 WebサーバApacheでCGIを作成しています。 DocumentRootが初期設定/var/www/html/で、その下にindex.htmlを作成しました。 次にcgiのディレクトリが初期設定の/var/www/cgi-bin/で、その下にtest.cgiを作成しました。 そして、test.cgiのパーミッションを-rwxr-xr-xにしてからApacheを起動しました。 別マシンのブラウザからhttp://xxx.xxx.xxx.xxx/index.htmlでアクセスし、フォームのテキストボックスに「abc」と入力して送信ボタンを押しましたが、404エラーになってしまいます。 (アドレスバーには「http://xxx.xxx.xxx.xxx/test.cgi?NAME=abc」と表示) ブラウザのアドレスバーに直接「http://xxx.xxx.xxx.xxx/cgi-bin/test.cgi?NAME=abc」とすると正常にアクセスできます。 ドキュメントルート配下にあるindex.htmlからドキュメントルート外にあるCGIのディレクトリ(ScriptAlias /cgi/bin/ "/var/www/cgi-bin/")を参照するにはどのようにしたらよいのでしょうか? ----------index.html---------------- <HTML> <HEAD><TITLE>フォーム</TITLE></HEAD> <BODY> <FORM ACTION="../cgi-bin/test.cgi" METHOD="GET">名前 <INPUT TYPE="TEXT" NAME="NAME"><BR> <INPUT TYPE="SUBMIT" VALUE="送信"> </FORM> </BODY> </HTML> ----------index.html---------------- ----------test.cgi------------------ #!/usr/bin/perl $str = $ENV{"QUERY_STRING"}; print << "EOF"; Content-type: text/html <HTML> <HEAD><TITLE>TESTCGI</TITLE></HEAD> <BODY>$str</BODY> </HTML> EOF ----------test.cgi------------------

    • ベストアンサー
    • CGI
  • javascriptでボタン作成

    こんばんわ,htmlでボタンを表示してcgiを動かすコードを書いています. 現在のhtmlのコードです.my_mkdir.cgiはディレクトリを2つ作るcgiです. <form action="/cgi-bin/my_mkdir.cgi" method="get" target"_self">   <input type="hidden" name="$args[0]">   <input type="hidden" name="$args[1]">   <input type="submit" name="button" value="PowerON"> </form> ボタンを押す→cgi実行の流れまではよいのですが,cgiでhtmlのコードがないとブラウザ上でエラーがでます. 対策として,cgiコード(python)でこのようにリロードするようにして回避しています. print "Location: リロードするURL\n\n" これでは不格好なので,ボタンを押す→cgi実行を可能にするにはjavascriptだとできるかもしれないと聞きました. javascriptでこのようなことは可能でしょうか?hiddenで渡しているパラメータはどのようにすればよいのでしょうか? html・javascript共に初心者です.よろしくおねがいします.

  • ディレクトリ作成

    ユーザが入力した名前のファイルを作成するプログラムを作っているのですが、うまくいきません。 <html> <head> <title>データ受け渡し</title> </head> <body> <?php echo "<p>入力内容:".@$_POST["text1"]; $dir = /dir/$_POST["text1"]; mkdir($dir, 0777); ?> <form method="POST" action="<?php echo $_SERVER["PHP_SELF"]?>"> <table> <tr> <td><input type="text" name="text1"></td> <td><input type="submit" value="送信" name="sub1"></td> </tr> </table> </form> </body> </html> サーバの dir というディレクトリ内に 入力された名前のファイルを作りたいのですが、エラーが出てしまいます。 よろしくお願いします。

    • 締切済み
    • PHP
  • ローカル環境でのCGI

    社内アンケートとして、 CGIをもちいた、アンケートを制作しております。 <FORM ACTION="http://hogehoge.local/cgi-bin/aaa.cgi" METHOD="POST" onSubmit="return form_check(this)" name=""> なまえ:<INPUT TYPE="radio" NAME="name" VALUE="OK"> ~~~~~~ ~~~~~~ <INPUT TYPE="hidden" NAME="number" VALUE=""> <INPUT TYPE="submit" NAME="answer" VALUE="送信する"> <INPUT TYPE="reset" NAME="reset" VALUE="リセット"> </FORM> </form> でhoge.cgiを動かしたいと思っております。 サーバーへアップし、cgi-bin配下でパーミッションを設定した場合はきちんと動きます。 当たり前ですが、ローカル上では動かなかったです。 社内ネットワーク上 \\hogehoge\cgi-bin\aaa.cgi ⇒ http://hogehoge.local/cgi-bin/aaa.cgi 【動かず】 hogehogeというディレクトリのcgi-binディレクトリのaaa.cgiを修正しますと そのままcgiが動くようにしたいのです。 htmlはもちろんのこと動きます。 サーバーアップ http://hogehoge.local/cgi-bin/aaa.cgi 【動作確認OK】 という状態で困っております。

    • 締切済み
    • CGI
  • javascriptからCGIへの値渡し

    cookieは利用しない方向で考えています。 HTML上のdocument.form01.のsubmitが押下されたら一度手入力されたデータ(userinput)を加工し、 別のフォームform02.valueに格納してtest.cgiにPOSTで投げる動作を期待しています。 下記だとページ遷移無しで一時的な格納まで確認しましたが CGIへの送信が機能していないようです。 どの様にすべきでしょうか? [html] <script type="text/javascript"> <!-- function onSubmit() { document.form02.sendform.value = '\"' + document.form01.userinput.value + '\"'; document.form02.submit(); } --> </script> <body> <form name="form02" method="POST" action="test.cgi"> <input type="hidden" name="sendform" value=""> </form> <form method="POST" action="" name="form01"> <input type="text" name="userinput"> <input type="submit" value"送信" onclick="return onSubmit();"> </form> </body> </html>

  • テキストから要素を抜き出してフォームで送信したい。

    <body> <form action="xxx.cgi" method="post"> <input type="hidden" name="n" value="v"> <table> <tr id="hoge_a"> <td>AAA</td> </tr> <tr id="hoge_b"> <td>BBB</td> </tr> </table> <input type="submit" name="submit"> </form> </body> というHTMLの中で、AAAを抜き出してフォームと一緒にpostでサブミットしたいのですが、javascriptで出来ますでしょうか。 よろしくおねがいします。

  • 同じフォーム内で、押下するボタンによって、飛び先のページ(cgi)を変

    同じフォーム内で、押下するボタンによって、飛び先のページ(cgi)を変えたい。 例えば、 以下のように、同じフォーム内に2つのボタンを用意し、 片方のボタンをクリックすると、現在のページ(aaa.cgi)へ戻り、 もう片方のボタンをクリックすると、別のページ(bbb.cgi)へ飛ぶようにしたい。 なお、何れのボタンもサブミットしたい。 ↓(aaa.cgi)================================= : <form name="frm1" action="???" method="post"> <input name="t1" type="text"> <input name="t2" type="text"> : <input name="b1" type="button" onClick="submit();"> <input name="b2" type="button" onClick="submit();"> : </form> : ↑(aaa.cgi)================================= 良い方法はないでしょうか。 ご存知の方、ご教授ねがいます。 よろしくお願いします。  

    • ベストアンサー
    • Perl
  • ファイルのアップロードができません。

    Perl CGIモジュールを使ってファイルのアップロードをしたいのですが、うまくいきません。 以下HTML部分 =================================================================== <form action="test.cgi" enctype="multipart/form-data" method=post> 1つめのファイルを選択<input type="file" name="upimg1" size=40><br> <input type=submit value=アップロード></form> ==================================================================== 受け取るCGI ==================================================================== #!/usr/bin/perl use CGI qw(:standard); $upimg1 = param('upimg1'); open UP,"> ./img_dir/sample.jpg"; while(<$upimg1>){ print UP $_; } close UP print <<"EOL"; Content-type: text/html <html> <body> Files have been uploaded.<br> $file1<br> $file2<br> </body> </html> EOL exit; ===================================================================== 実際アップフォルダ内にはsample.jpgがあるのですが、0バイトできちんとアップされていません。 本をみて自分なりにやってみたのですが・・・ どこがまちがっていますか?よろしくお願いします。

    • ベストアンサー
    • CGI

専門家に質問してみよう