人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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="保存" />
ローカルサーバーにてテストしたところ、
読み込み、書き込みは問題なく動作してくれるのですが、
本番サーバーにアップロードしたところ、書き込みだけが出来なくなりました。

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

●質問者: yotanote
●カテゴリ:ウェブ制作
✍キーワード:EXIT HTML NEWS PHP txt
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● うぃんど
ベストアンサー

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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ