• ベストアンサー

ファイルに書き込むためのPHPを教えてください

いつもお世話になります。PHPの初心者です。 フォームの一部($text)からデータを受け取って、ファイル(log.cgi)に書き込むPHPを作りましたが、うまく作動しません。 どなたかお分かりになるかた教えてください。 //保存用ログファイル define('DE_LOGFILE', 'log.cgi'); $logtext = @file(DE_LOGFILE); //ログに書き込む $handletext = @fopen(DE_LOGFILE, "w") or _error_page(DE_LOGFILE.'に書き込めません'); fwrite($handletext, $text); @fclose($handletext);

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

  • ベストアンサー
回答No.3

@でエラー出力を避けているので、@を取ってみれば原因が掴みやすいです。 恐らく、パーミッションエラー(権限がない)だと思いますが。 該当ディレクトリのパーミッションを変更してみて下さい。

future-boy
質問者

補足

ご回答頂きましてありがとうございます。 @をとってみてもエラー表示がされませんでした。 パーミッション777と755でやってみましたが、やはり同じ結果でした。

その他の回答 (3)

回答No.4

#3です。 エーラを全く出さないようPHPの設定も可能ですが、恐らく問題はそこではないかもしれませんね。別のところに問題があるかもしれません。 以下ピント外れだったら読み飛ばして下さい。 > フォームの一部($text)からデータを受け取って echo $text; これでフォームの内容が表示されますか? 表示されないようでしたら、ひょっとしてフォームからのデータ受け取りに問題があります。フォームからの変数は、 var_dump($_REQUEST); あたりで確認出来ます。 古いドキュメントでは、register_globals = on 設定なので、<input type="text" name="text" />の場合に単純に$text として表している場合がありますが、セキュリティ上問題があるのでpostの場合$_POST["text"]、getの場合$_GET["text"]の中に格納されます。念のため。

  • Hardking
  • ベストアンサー率45% (73/160)
回答No.2

動作環境がUNIX系OSならば 書き込み保存するディレクトリーの 書き込み権限は書き込み可となっているでしょうか?

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

おおむね問題なさそうですがなにか問題か疑問でもありますか?