はじめまして。
このたび業者さんにホームページを自分で更新できるプログラムを作って頂きました。
今まではさくらインターネットで使用していたのですが、今回ロリポップにしたところ、更新すると次のようなエラーが出てしまいます。
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で質問しましょう!
似たような質問が見つかりました
- Ruby No route matches [GET] "/posts/5/destroy" 1 2022/03/24 13:00
- その他(プログラミング・Web制作) python flask から fastapiへの移行時のエラー対処 1 2023/02/05 12:26
- その他(SNS・コミュニケーションサービス) 爆サイやっていたら、下のような文字が出ました! これは何なのでしょうか? nginx error! 1 2023/06/09 12:27
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 3 2022/10/27 17:44
- ビデオカード・サウンドカード DellのPC(xp)に、サウンドカードドライバ(内蔵)をインストールしたい。 1 2023/07/31 11:32
- PHP ワードプレスサイト PHP8.0.25でのWarningエラー 1 2023/06/12 11:44
- その他(SNS・コミュニケーションサービス) 自分のpcがハッキングされたようなメールが来たのですがどうすればいいですか? 4 2022/10/02 16:14
- Windows 10 VirtualBox 7のゲストOSでの物理HDDパーティションのマウント方法 2 2023/05/04 13:01
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- WordPress(ワードプレス) ワードプレスのエラー ログイン画面が表示できない 1 2022/11/05 09:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CGIが読み書きするデータファイ...
-
シェルにてファイルの自動削除...
-
EXCELファイルに誰がアクセスし...
-
URLに~/cgi-bin/~を隠す方法
-
CGIの設置が分かりません・・・
-
midi・・・要はhpでbgm鳴...
-
直リンク用バナーの作り方
-
ASPから既存のexcelブックを開...
-
ローカルマシンでCGIソースが出...
-
《エクセルVBA》「他の人が該当...
-
SFTPなどは使わないホームペー...
-
メールフォームのCGIでデータが...
-
cgi アクセス制限 エラー
-
通貨表示で3桁毎にカンマ(?)を...
-
リダイレクト機能
-
perlからJavascriptを起動
-
掲示板のスレッドが消えた!?
-
CGIでコードがむきだしの状態で...
-
SSIまで編集時にイメージどおり...
-
1日の売上表を作りたいのですけ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CGI実行環境下の.jsや.cssが動...
-
.htaccessを2つ以上設置した場合
-
FFFTPでアップロードできない?
-
WIn32API ディレクトリ内ファイ...
-
レンタルサーバーlolipop cgiの...
-
CGIでjcode.plを読み込めなくな...
-
CGIが読み書きするデータファイ...
-
インクルードファイルのエラー
-
500 Internal Server Err で困...
-
CGIのフォームをアップロードす...
-
CGI掲示板のバーミッションにつ...
-
JavaScriptdeファ...
-
画像投稿掲示板の画像保存用デ...
-
iniファイルを呼ぶバッチファイ...
-
CSVファイルのパーミッションは?
-
シェルにてファイルの自動削除...
-
cgi-binのディレクトリの作成方法
-
mimeの取得方法
-
掲示板のアイコン設定の仕方教...
-
なぜフォルダ名がcgi-binなの?
おすすめ情報