PHPファイル操作

はじめまして、PHP初心者です。
PHPファイル操作にてどうしても自力ではわからないことがあったので、
ご教示をお願いしたいです。
このページをedit.phpとした場合です。
<?php
$direct=$_POST["direct"];

if($_SERVER["REQUEST_METHOD"] === "POST"){
$fh=fopen("txt/news.txt","w");
fputs($fh,$direct);
fclose($fh);
header("Location:edit.php");
exit;
}

$fh=fopen("txt/news.txt","r");

if(!$fh){
$error="<p style=\"color:#FF0000\">ファイル読み込みに失敗しました</p>";
exit;
}

$text=array();

while($line=fgets($fh)){
$text[]=$line;
}
fclose($fh);
?>
html中略
<h3>news.txt</h3>
<?php echo $error; ?>
<form action="edit.php" method="post">
<textarea name="direct" rows="20" cols="60" >
<?php for($x=0; $x<8; $x++){echo $text[$x];}?>
</textarea><br />
<input type="submit" value="保存" />
ローカルサーバーにてテストしたところ、
読み込み、書き込みは問題なく動作してくれるのですが、
本番サーバーにアップロードしたところ、書き込みだけが出来なくなりました。

分岐処理がおかしいのかなって考えたんですが、
保存ボタンを押した際にページが更新されるので、
分岐処理は問題なしということが確認できました。
他の原因が見当もつかないので、ご教示宜しくお願いします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/08/16 15:31:42

ベストアンサー

id:windofjuly No.1

回答回数2625ベストアンサー獲得回数1149

具体的には、どのようなエラーが出ているのかを調べることから始める必要があるのですが、サーバーによってはエラー出力がブラウザには返ってこない(出てこない)ような場合もあるので、サーバーの「よくあるご質問」などのページをよく読む必要があります

 

どこのどのようなサーバー環境なのか、まったく分からない状況なので、とりあえず一番よくある例としてパーミッションの設定が間違っている可能性をあげておきます

ローカルサーバがWindowsである場合にはパーミッションをあまり気にする人もいなかったりするのですが、他のOSでは必ずと言ってよいほどにディレクトリやファイルのパーミッションを設定しておく必要がありますので、まずはtxtディレクトリやnews.txtファイルのパーミッションを確認してみてください

コメントはまだありません

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

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

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

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