PHP初心者で、Mac OS Xの初心者です。

上手くいかないことがありましたので、教えていただければ幸いです。

<?php //counter.php
$fp = fopen("count.txt", "r+"); //読み書きモードでオープン
$n = fgets($fp); // 文字列の読み取り
$n++; //カウントアップ
echo $n, "人目"; //表示
rewind($fp); //読み書き位置を先頭に戻す
fputs($fp, $n); //書き込み
fclose($fp); //ファイルを閉じる

?>

上記のようなファイルを作りました。
ブラウザ(Safari)で実行すると、下のような警告文が出てきます。
 

Warning: fopen(count.txt) [function.fopen]: failed to open stream: Permission denied in /Applications/XAMPP/xamppfiles/htdocs/chap02/counter.php on line 2

警告文で示された各ディレクトリのオーナーを、私が使っているユーザに変更したのですが、
それでも上手くいきません。
どのようにすればよいでしょうか?
ご教授よろしくお願いします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2009/05/13 18:38:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:taknt No.2

回答回数13539ベストアンサー獲得回数1198

ポイント30pt

そのPHPがあるフォルダにcount.txtをおき

パーミッションを 777にしたら エラーは 出なくなりました。

id:gbs01

どのディレクトリの、パーミッションを777にすればよいのでしょうか?

2009/05/13 18:29:14

その他の回答2件)

id:y3b5 No.1

回答回数32ベストアンサー獲得回数3

ポイント25pt

外してしているかもしれませんが、

http://www.apachefriends.org/jp/xampp-macosx.html

によると

5. MySQLとApacheが同じユーザ(nobody)の下で稼動します。

とありますので、ご自身のユーザ名じゃなく、nobodyでも読み書きできる

権限を与えてあげないといけないかもしれないですね。

id:gbs01

全てのディレクトリ、 /Applications/XAMPP/xamppfiles/htdocs/chap02/

の権限をnobodyにすれば良いのでしょうか?

すみません、良くわかりません、どなたかよろしくお願いします。

2009/05/13 18:25:57
id:taknt No.2

回答回数13539ベストアンサー獲得回数1198ここでベストアンサー

ポイント30pt

そのPHPがあるフォルダにcount.txtをおき

パーミッションを 777にしたら エラーは 出なくなりました。

id:gbs01

どのディレクトリの、パーミッションを777にすればよいのでしょうか?

2009/05/13 18:29:14
id:fut573 No.3

回答回数196ベストアンサー獲得回数55

ポイント25pt

count.txtがロック(読み取り専用)になっているのではないでしょうか?

ファイル→情報を見る→ロックにチェックが入っているならば、チェックを外してみてください。

id:gbs01

確認したのですが、ロックにはなっていなかったです。

すみません、まだ他に回答をお願いできませんでしょうか?

2009/05/13 18:30:59
  • id:gbs01
    すみません、id:taknt様の回答で、count.txtのパーミッションを777に変更したら、
    上手くいきました。

    回答を締め切らせていただきます。
  • id:rouge_2008
    もし666に出来るのでしたら、666にした方が良いと思います。
    ※606や600でも可能なら、606や600の方がさらに良いです・・・

    読む(4)+書く(2)=6
    http://www.tryhp.net/permission.htm
    ※777はディレクトリに指定します。(ただし、レンタルサーバーなどでは、777では動作しない場合があります。)
  • id:gbs01
    rouge_2008様
    コメントありがとうございます。
    試してみます。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません