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

cocoスペース レンタルサーバーを使っていますが、PHPでファイル生成を実行した時に以下のエラーが出ました。
【スクリプト】
<?PHP
umask(0);
$file="index.html";
$string="テスト";
$file=trim($file);
$file_dat=fopen($file,"w+");
flock($file_dat, LOCK_EX);
fputs($file_dat, $string);
flock($file_dat, LOCK_UN);
chmod($file,0666);
?>
【エラー】
Warning: fopen(index.html) [function.fopen]: failed to open stream: Permission denied in ... on line 10
Warning: flock() expects parameter 1 to be resource, boolean given in ... on line 11
Warning: fputs(): supplied argument is not a valid stream resource in ... on line 12
Warning: flock() expects parameter 1 to be resource, boolean given in ... on line 13
Warning: chmod() [function.chmod]: No such file or directory in ... on line 14
全く同じスクリプトを、さくらレンタルサーバーで実行すると、ファイルが正常の生成されます。
色々調べてみて、実行権限がないからというのはわかってきたのですが・・
sudo exec
を使うのかな?、でもアパッチをいじらないといけないんですよね??
権限について何かやってみたことがないので、さっぱりわかりません!

●質問者: goodbabies
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:CoCo Flock HTML INDEX ON
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● ホーエンハイム
●60ポイント

そのスクリプトを設置しているディレクトリに書き込み権限がないため、fopen関数でエラーが発生して、それに引きずられて以降のエラーが発生しています。

PHPがどの権限で実行されているか分からないので、そのディレクトリのパーミッションをとりあえず '777' にしてみてください。

余談ながら、fopen関数の戻り値のエラーチェックは必須かと存じます。

◎質問者からの返答

さっそくの回答ありがとうございます。

さきほどPHPファイルのパーミッションFFFTPで777にしてみました。

が、エラー内容は全く一緒でした・・・。色々パーミッションについては試してみたのですが・・・。

あ、ちなみに自分はPHP初心者なので分からないのですが、

>余談ながら、fopen関数の戻り値のエラーチェックは必須かと存じます。

とは、例えばどのようにされるのですか??

関連質問


●質問をもっと探す●



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