
CGIを使ってやりたいことがあり、PHPを独学で学び、レンタルサーバーで実験をしているのですが、fopen()やfputs()をつかうとエラーのようになります。
これがそれです。
http://pgc.sub.jp/form.php
サーバーはlolipopというところを使っているのですが、こちらのほうが許可していないということでしょうか。
ソースは以下のようになります。
<html>
<head>
<title>実験掲示板</title>
</head>
<body>
<h1>実験掲示板</h1>
書き込む内容を入力してください。<hr>
<form name="form" action="./sample01.php" method="POST">
<input name="body" type="text" size="40">
<input type="submit" value="書込"><hr>
</form>
<?php
$data = file("./data.txt");
for($i=0; $i<sizeof($data); $i++){
print "記事NO.${i}:${data[$i]}<br>\n<hr>";
}
?>
</body>
</html>
<?php
$body = $_REQUEST["body"];
$body = $body."\n";
?><html>
<head>
<title>Sample01</title>
</head>
<body>
<?php
$fp = fopen("./data.txt","a");
fputs($fp,$body);
fclose($fp);
echo "書き込み完了<br>",
"<a href=\"./form.php\">戻る</a>";
?>
</body>
</html>
プラス空のdata.txtファイル
また、大学のPCを使用しているのですが、 http://localhost/ をすると 「Connection Failed」となってしまい、localhostでの実験ができません。これは大学側が禁止しているためでしょうか?研究室のものですので、IPアドレスはそれぞれに割り当てられているのですが。
No.1ベストアンサー
- 回答日時:
はじめましてwind-wingと申します。
http://pgc.sub.jp/form.php
拝見させていただきました。
Warningを確認した限りですと、
Permission denied と出ていますので、
そのdata.txtを書き出すところに
書き込み権限が無いようです。
$fp = fopen("./data.txt","a");
と書いているようですので、追記モードですものね。
書き込み権限が無いために$fpにファイルストリームが
オープンできずにfputs()およびfclose()ができない
となっていると思いますので、
そのディレクトリに書き込み権限を
与えてみてください。
属性タブで仰る通りにしてみたところ、できました!ありがとうございます。愚作をお目にかけてしまい恐縮です。どんどんステップアップし、多くの人にとって有用なサイトができるようにしたいと思います。
No.2
- 回答日時:
PHPやPerlなどによるCGIプログラムのテスト環境は、たいてい最初から入っているものではありません。
そして、テスト環境の設置は、ネットワークに依存するものではないので、研究室のPCであろうと構築可能だと思います(ただしセキュリティに十分注意する必要があります!!)。
テスト環境が整ってないならば参考URLに示すサイトからXAMPPという開発環境のセットをインストールすることをお勧めします。セキュリティに関しても参考URLに記載されています。
参考URL:http://phpspot.net/php/pgXAMPP.html
この回答への補足
phpdev5で試みていたのですが、こちらのほうが良さそうですね。よいソフトを教えていただき、ありがとうございます。ですが、やはりConection failedとなり、できないようです。ApacheやPHPを個別に入れて、マニュアル通りの設定をしているのですが。原因として何か考えられることはありますか?
補足日時:2006/06/03 16:46ご紹介のソフトで試行錯誤の後、できました!「あなたの予想に反して、このページが見えているでしょうか?」とでたときには驚きました。
本当にありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
さくらインターネットレンタル...
-
php エラー
-
<form action="bbs.php" method...
-
PHPのif文でその処理を途中で抜...
-
FTPコマンドでディレクトリごと...
-
Subversionのリポジトリの削除
-
.phpと.incファイルの違いはな...
-
ボタンのクリック数を合計保存...
-
*.php、*.php3、*.phtmlの違い
-
phpの処理中に画面表示ををする...
-
zip圧縮の種類について
-
php で C言語のdefineマクロの...
-
「クラス関数」「メンバ関数」...
-
error_reporting(0);にも関わら...
-
CakePHPのファイルの所有者の権...
-
PHPにて外部サイト内容が取得不...
-
phpのftp_get()でエラーが出ます。
-
ftpでアップロードが出来ない
-
PHPでサーバーにインストールさ...
-
C# Excelファイルへの画像挿入。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
文字化けについて
-
phpの画面表示が真っ白です
-
日付と年月日を選択するコード...
-
PHPでHTLM入力された背...
-
ライブドアブログにPHPスクリプ...
-
phpの質問です
-
PHP→JavaScriptへの書き換え
-
一つのphpファイルでframeset
-
外部PHPファイルの読込みについて
-
phpでテキストファイルへ書き込み
-
PHPをはじめて1日目なので・・・
-
header関数について
-
mb_convert_variablesで変換出...
-
更新pingの送信について
-
Wordpressを利用したソート機能...
-
連番を書き出すなどの単純処理...
-
ここでの ②if($su_d<>"")の比較...
-
文字列の一部を取り出したいの...
-
POSTされた値をEUCで表示したい
-
ローカル環境で動くのに本番環...
おすすめ情報