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

PHPの質問です。ファイルに更新日時をセットしたいのですが上手くいきません。

$mtime にはUNIXタイムスタンプが入っています。
touch(”data/filename.dat”,$mtime);

すると、次のようなエラーになります。
Warning: utime failed: Operation not permitted
エラー行は上記の命令を指しています。

filename.dat のパーミッションは606です。
レンタルサーバ(PHPのバージョンは4.2.4)を使用しています。
ローカル(バージョン4.3.4)のテストではエラーにならなかったので、その辺に原因があると思うのですが、解決策をご存じの方、お願いします。

●質問者: wintarsnow
●カテゴリ:コンピュータ 学習・教育
✍キーワード:dat PHP UNIX Warning エラー
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● aki73ix
●15ポイント

http://202.224.39.34/~FV6N-TNSK/gates/

GATES

URLはダミーです、リモートから実行すると webuser権限になって 真ん中の数字がパーミッションになりますつまり 666にしないと動作しません

あと、上位フォルダも確認してみてください

フォルダが 777もしくは555(読み込みのみ)になってないとアクセスできませんよ

◎質問者からの返答

ありがとうございます!

しかし、早速filename.datのパーミッションを666にし、dataフォルダを777にして再試行してみたのですが、状況が変わりません。


2 ● akimasa2000
●15ポイント

http://cache.yahoofs.jp/cache?url=http%3a%2f%2fpalette.pupu.jp%2...

一度消してから、再作成すると、解決した人がいるそうです。

◎質問者からの返答

ありがとうございます。

一度削除してから、またアップロードしてみたのですが変わりませんでした。


3 ● toramaru666
●15ポイント

http://palette.pupu.jp/pppbbs/pppbbs.php

上記ページに同じような質問と回答がありました。

「37 Link部分について。」というところ。

これが参考になると思います。

◎質問者からの返答

ありがとうございます。

すみません、37ではなく36ですよね?

2番の回答と同じですね。


4 ● aki73ix
●25ポイント

http://php.s3.to/man/features.safe-mode.functions.html

セーフモードにより制限を受けるか無効となる関数

もう一つ思い当たることがありました

ローカルでファイル作成した場合、

ファイル所有者の問題でtouchが実行できない場合があります

・chownでローカルから web実行ユーザの名前にかえる(ユーザ名はサーバによって異なりますが、リモートでファイルを作成してやれば、そのユーザ名になるので分かると思います。一般的にはnobodyやwebuserかと)

・filename.dataをCGIでアップロードする

(自動的にWebからのユーザの所有になります)

http://php.s3.to/man/function.chown.html

ファイルの所有者を変更する

chownについて

◎質問者からの返答

一度ファイルを削除し、

・filename.dataをCGIでアップロードする

を試したところ、成功しました!

ありがとうございました。

関連質問


●質問をもっと探す●



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