はじめまして。
このたび業者さんにホームページを自分で更新できるプログラムを作って頂きました。
今まではさくらインターネットで使用していたのですが、今回ロリポップにしたところ、更新すると次のようなエラーが出てしまいます。
Warning: fopen(./data/news_08.txt) [function.fopen]: failed to open stream: Permission denied in /home/sites/lolipop.jp/users/lolipop.jp-dp16027581/web/edit/edit.php on line 23
Warning: flock(): supplied argument is not a valid stream resource in /home/sites/lolipop.jp/users/lolipop.jp-dp16027581/web/edit/edit.php on line 24
Warning: fputs(): supplied argument is not a valid stream resource in /home/sites/lolipop.jp/users/lolipop.jp-dp16027581/web/edit/edit.php on line 25
Warning: fclose(): supplied argument is not a valid stream resource in /home/sites/lolipop.jp/users/lolipop.jp-dp16027581/web/edit/edit.php on line 26
Warning: chmod() [function.chmod]: Operation not permitted in /home/sites/lolipop.jp/users/lolipop.jp-dp16027581/web/edit/edit.php on line 27
エラーを見てもさっぱりなんですが、解決方法などがわかる方いらっしゃいますでしょうか?
どうかよろしくお願致します。
No.3
- 回答日時:
phpファイルは604
news_08.txtを書き込むdataディレクトリが707
edit.phpの上から7行目にchmodがあると思いますが
実際はどのようなコーディングなのでしょうか?
また、dataディレクトリの中には既にnews_08.txtなどがあるのでしょうか?
この回答への補足
<?php
$id = $_GET['id'];
$mode = $_POST['mode'];
$news = $_POST['news'];
$title = "更新";
if ($id == 0) { $title = "新着情報"; }
else { $title = $title . $id; }
$filename = "./data/news_" . sprintf("%02d", $id) . ".txt";
$message = "";
if ($mode == "update") {
$writedata = $news;
$writedata = str_replace("\r\n","\n", $writedata);
$writedata = str_replace("\r","\n", $writedata);
$writedata = str_replace("\n","<br>", $writedata);
$writedata = stripslashes($writedata);
$fp = fopen("$filename", "w");
flock($fp, LOCK_EX);
fputs($fp, $writedata);
fclose($fp);
chmod($filename, 0666);
$message = "<p><font color=blue><b>更新しました。</b></font></p>";
}
if (file_exists($filename)) {
$fp = @fopen($filename, "r");
$readdata = "";
while (!(feof($fp))) {
$buf = chop(fgets($fp, 1024));
if (!$buf) { continue; }
$readdata .= $buf;
}
fclose($fp);
}
$news = $readdata;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio …
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
<title><?= $title ?></title>
</head>
<body bgcolor="#F3F3F3">
<form name="frmMain" method="post" action="<?= $editscript ?>">
<input type="hidden" name="mode" value="update">
<p>■<?= $title ?></p>
<?= $message ?>
<p align="center">
<textarea name="news" cols="80" rows="15" wrap="virtual" id="news"><?= str_replace("<br>", "\n", $news) ?></textarea>
</p>
<p align="center">
<input type="submit" name="Submit" value=" 更 新 ">
</p>
</form>
</body>
</html>
たびたびのご回答ありがとうございます。
プログラミングについてまったく知識がなく念のためすべてのコーディングを投稿させていただきました。
さくらインターネットでは使用できていたので、問題はないと思ったのですが、パーミッション以外にもなにか問題があるのでしょうか?
どうかよろしくお願致します。
No.2
- 回答日時:
に詳しく書いてあると思います。
news_08.txtは書き込む必要があるディレクトリではないでしょうか。
また、CGIを動作させているのはウェブサーバであって、
契約者のアカウントとは別物と考えます。
そうすると、dataディレクトリのパーミッションは、707または777
となるのではないでしょうか。
以上、よろしくお願いします。
この回答への補足
早速試してみたところ、
再度の行の
Warning: chmod() [function.chmod]: Operation not permitted in /home/sites/lolipop.jp/users/lolipop.jp-dp16027581/web/edit/edit.php on line 27
だけが残ってしまいました。
他の行はすべて消えたので、あと少しだとは思うのですが・・・
ファイルは
editフォルダの中に
edit.phpが1つ(604)
編集の為のhtmlファイル(707に設定)
dataフォルダ(中身もすべて707)
別ファイルでnewsread.phpというのがあったのですがこちらも604に設定したのですが、ダメでした・・・
何度も本当に申し訳ございませんが、どうかよろしくお願致します。
ありがとうございます。
早速試してみます。
本当にありがとうございます。
ちなみにphpデータのパーミッションは604のままでよろしいのでしょうか?
何度もすみません。
No.1
- 回答日時:
/home/sites/lolipop.jp/users/lolipop.jp-dp16027581/web/edit/data
ディレクトリのパーミッションはどうなっているのでしょうか?
おそらく、書き込み権限が無いように思われます。
早速の解答ありがとうございます。
http://lolipop.jp/?mode=manual&state=hp&state2=cgi
こちらのページを参考にしてパーミッションは「604」で設定しています。
お手数ですが、どうかよろしくお願致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CGIでjcode.plを読み込めなくな...
-
Windows+Apache2.2で別ユーザー...
-
セキュリティの為のSUEXECについて
-
EXCELファイルに誰がアクセスし...
-
$ENV{'HTTP_COOKIE'}について
-
simplexml_load_fileのエラー
-
IIS5.1でCGI Timeoutになる原因...
-
IISのSSIの設定について
-
VB6 FTPファイルのパーミッショ...
-
safariでcgiが表示されず cgi...
-
MT/カスタムフィールドでのPDF...
-
ASP(IIS?)のエラーについて
-
パーミッションについて詳しく...
-
《エクセルVBA》「他の人が該当...
-
超初心者ですが、、
-
ソースを見せたくないです。
-
ASPから既存のexcelブックを開...
-
ファイルロックの質問
-
プロバイダNifty,接続Tepco光を
-
読み方を教えてください
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FFFTPでアップロードできない?
-
.htaccessを2つ以上設置した場合
-
CGIでjcode.plを読み込めなくな...
-
イントラネットのwebページのア...
-
HTTP接続
-
ユーザーに絶対に見られたくな...
-
CGI実行環境下の.jsや.cssが動...
-
レンタルサーバーlolipop cgiの...
-
SSIの日付の文字化けの対処方法...
-
Perlでディレクトリごと削除したい
-
CGIのフォームをアップロードす...
-
相対パスか絶対パスって何?
-
シェルにてファイルの自動削除...
-
インクルードファイルのエラー
-
CGIが読み書きするデータファイ...
-
SSIからCGIを起動するときのパ...
-
CGIの設計について教えてくださ...
-
500 Internal Server Err で困...
-
KENTさんのところのサイト内検...
-
CSVファイルのパーミッションは?
おすすめ情報