• ベストアンサー

PHPで直接属性の変更はできないでしょうか?

PHPやPERLで直接ファイルの属性を変更できるか試みています。どうもできなさそうであきらめようと思ったんですが、本当にできないのか?ちょっと疑問がのこります。直接PHPファイルにパーミッションを644から744に書き換えるスクリプトを試みていたんですが。。もしどちらさまかわかる方がいらっしゃいましたら暇なときに回答ください、待ってますΣo(≧ヘ≦o)。無理なら無理ということであきらめます。

  • PHP
  • 回答数3
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

PHPの実効ユーザーにパーミッション変更の権限がなければどうしようも ないでしょう。 また「直接」というのがどこまで直接なのかにもよりますが、 system系の関数でsudoをかまして、スーパーユーザーとして実行すれば chmodでもchownでもなんでもできますね ちなみにファイルシステム系の質問をするならOSくらいかかないと 混乱の元ですよ

hikarara
質問者

お礼

そうなんですか、OSはfedora なんですが、「sudoをかまして、スーパーユーザーとして実行すれば」とかちょっと難しいですね。う~んちょっと勉強不足でした。もういちど勉強しなおしてきます(/ー\*) 。アドバイスありがとうございます。

その他の回答 (2)

  • kozaiku
  • ベストアンサー率41% (256/616)
回答No.3

パーミッションを書き換えようとした対象のファイルはFTPでアップロードしたものではありませんか? 元のパーミッション644(つまり所有者以外は変更禁止) FTPのタスクの実行者と、PHPスクリプトの実行者が同じでなければ変更はできないはずです。(同じになるかどうかはサーバーの設定しだい) PHPスクリプトでファイルを生成し、それに対してパーミッションの変更をしてみましょう。変更できるはずです。

hikarara
質問者

お礼

そうなんですかぁ(/ー\*) 。FTPのタスクの実行者と、PHPスクリプトの実行者が同じでなければ変更はできないんですね。PHPスクリプトでファイルを生成し、それに対してパーミッションの変更というのをためしてみます。アドバイスありがとうございました。

noname#26650
noname#26650
回答No.1

chmod関数というのが使えるのではないでしょうか。

hikarara
質問者

お礼

なるほど、アクセス権を変更する関数なんですね(/ー\*) 。使えそうなのでちょっと試してみます。アドバイスありがとうございます。

関連するQ&A

  • FTPにてパーミッション一斉変更の際、ファイル属性も指定したい

    私は、ファイル転送でFFFTPを使ってますが、大量のcgi、php等のスクリプトをアップロードした場合、後でファイルパーミッションが不適合な事があります。 その際、FFFTPでは、同じディレクトリならまとめて、属性変更ができますが、大量のスクリプトが多くのディレクトリに分散していた場合は、1つ1つディレクトリにアクセスして属性変更をしなければならない大変な作業が必要になります。 なので、FTPにてあるディレクトリ以下の全てのphpファイル、もしくはcgiファイルとファイル属性を指定し、その属性に該当するファイルに限りパーミッションを755に変更するという事を行いたいのですが、どの様にすればできるのでしょうか? ご回答宜しくお願いします。

  • PHPの設置について。属性777とは?

    パーミッション(読み書き属性)を777などにします。 と書いてあったのですが、それはどのようにすればよいのでしょうか? FFFTPなどを使うと、できるように書いてあったのですが、 ドリームウィーバーから、直接設定を行う方法は無いでしょうか? もしも、知っている方がいましたら教えて下さい。 ちなみに、PHPの設置は初めてです。

    • ベストアンサー
    • PHP
  • .htaccessで所有権の変更は出来ますか?

    .htaccessなどでパーミッションの変更がしたいのですが やり方はありますか? ローカルでテスト用にwindowsでアパッチを動かしてるのですが パーミッションの変更が面倒で、コマンドでやってもいいのですが、 できれば、「ファイルをアップするだけでパーミッションの設定が完了」 といったこともしたいので探してます。 phpとかをつかって属性を変える方法はありますが URLを打ってアクセスするファイルのパーミッションを変えたいんです。 perlなんかだと777などに設定しないと403になってしまいますし。 よろしくお願いします。

    • ベストアンサー
    • CGI
  • FFFTPの属性変更でディレクトリが消えました

    FFFTPのディレクトリの属性変更をしたのですが間違ってしまい664で属性変更をしてしまいました。 するとホスト側のディレクトリが消えてしまい、同じ名前のディレクトリを作成しようとしてもpermission dniedになってしまい。変更も何もできません。 なんとかしてこの表示されなくなったディレクトリを戻すことはできないでしょうか? 非常に困っています。回答よろしくお願いします。

  • PHPパーミッションについて

    さくらインターネットを利用してます。 マニュアルにはPHPパーミッションは ファイルパーミッション 755 または 705(どちらでも可) ディレクトリパーミッション 755 または 705(どちらでも可) とあります。ファイルパーミッションを604でも十分に問題なく、PHPが稼動します。705よりは604の方がいいと思いますが、問題がありますか?ちなみにいろいろと実行ファイルでも604でも動きます。 PERLと違ってPHPはラフなのでしょうか?

    • 締切済み
    • PHP
  • Perlで属性を変更したい

    Perlで属性を変更したいのですができません。 何とか属性を変更することはできないでしょうか? system(qq(chmod 0755,"test.cgi")); もし、ご存知の方おられましたら教えてください。 宜しくお願い致します。

    • ベストアンサー
    • Perl
  • ファイルのパーミッション属性の変更方法

    初心者の質問です。 はじめてHPを作成することとなり、 その雛形をffftpでアップロードしました。 ところがリンク集が作動しなかったので、 調べたところファイルやフォルダのパーミッション属性を マニュアル通りに設定しなければならないとがわかりました。 アップロードするたびに属性変更するのは大変ですので、 あらかじめ属性変更を行ってからアップロードしたいのですが、 その方法を教えてください。 ffftpでは、リモートサイトの属性しか変更できないようです。 もしくはリモートサイトのファイルを複数個一度に変更できますか? よろしくお願いします。

  • PHPのパーミッションの設定について

    PHPのパーミッションの設定について 自分でアパッチを設定したのですが、 自分のサーバーでPHPのテストをするには サーバーと同じようにパーミッションの設定をしないといけないです。 これはどうやったら出来るんでしょうか? また、詳しくファイルの性質ごとに属性を変える基準がかいてるページは無いでしょうか? 分かる方教えていただけますか?

    • ベストアンサー
    • PHP
  • フォルダの属性変更が出来ない。

    半透明のファイルを元に戻そうと、プロパティの中の隠しファイルの項目を外そうとしたのですが、OKボタンを押したところ「属性適用エラー 属性適用中にエラーが発生しました。アクセスが拒否されました。」と、出て属性変更できませんでした。 どの様にしたら出来るでしょうか?回答をお願いします。

  • phpでファイル生成時のファイル属性指定について

    現在、phpでとあるシステムを構築していますが、ファイル属性の件で躓いています。 phpでファイル(●●●.dat)を生成する場合、パーミッションが「644」になりますが、自動的に「666」もしくは「766」で生成出来る方法を探していますが、分かりませんでしたのでここに質問致しました。 現在、レンタルサーバーで運用しており php Ver.4.4.1のセーフモードで動いています。「chown」コマンドは使えませんでした。

    • ベストアンサー
    • PHP

専門家に質問してみよう