- ベストアンサー
PHPで直接属性の変更はできないでしょうか?
PHPやPERLで直接ファイルの属性を変更できるか試みています。どうもできなさそうであきらめようと思ったんですが、本当にできないのか?ちょっと疑問がのこります。直接PHPファイルにパーミッションを644から744に書き換えるスクリプトを試みていたんですが。。もしどちらさまかわかる方がいらっしゃいましたら暇なときに回答ください、待ってますΣo(≧ヘ≦o)。無理なら無理ということであきらめます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
PHPの実効ユーザーにパーミッション変更の権限がなければどうしようも ないでしょう。 また「直接」というのがどこまで直接なのかにもよりますが、 system系の関数でsudoをかまして、スーパーユーザーとして実行すれば chmodでもchownでもなんでもできますね ちなみにファイルシステム系の質問をするならOSくらいかかないと 混乱の元ですよ
その他の回答 (2)
- kozaiku
- ベストアンサー率41% (256/616)
パーミッションを書き換えようとした対象のファイルはFTPでアップロードしたものではありませんか? 元のパーミッション644(つまり所有者以外は変更禁止) FTPのタスクの実行者と、PHPスクリプトの実行者が同じでなければ変更はできないはずです。(同じになるかどうかはサーバーの設定しだい) PHPスクリプトでファイルを生成し、それに対してパーミッションの変更をしてみましょう。変更できるはずです。
お礼
そうなんですかぁ(/ー\*) 。FTPのタスクの実行者と、PHPスクリプトの実行者が同じでなければ変更はできないんですね。PHPスクリプトでファイルを生成し、それに対してパーミッションの変更というのをためしてみます。アドバイスありがとうございました。
chmod関数というのが使えるのではないでしょうか。
お礼
なるほど、アクセス権を変更する関数なんですね(/ー\*) 。使えそうなのでちょっと試してみます。アドバイスありがとうございます。
お礼
そうなんですか、OSはfedora なんですが、「sudoをかまして、スーパーユーザーとして実行すれば」とかちょっと難しいですね。う~んちょっと勉強不足でした。もういちど勉強しなおしてきます(/ー\*) 。アドバイスありがとうございます。