• ベストアンサー

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

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

  • PHP
  • 回答数1
  • ありがとう数0

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

  • ベストアンサー
  • wish46
  • ベストアンサー率78% (29/37)
回答No.1

パーミッションの変更は「chmod」です chmod("ファイル名","0666"); 頭に「0」を付けた4桁です。(0755など) 「chown」は所有者の変更コマンドでこれが使えるのはスーパーユーザーのみです。レンタルサーバーではほとんど使えません。(使う必要もないですけど・・・)

関連するQ&A

  • datファイルを生成したい

    サーバ上には存在しないdatファイルを新規で生成したいのですが、そのコーディングを教えていただけませんでしょうか?(もし不可能なら既存のdatファイルをコピーして生成する方法でもいいです) また、生成したdatファイルはパーミッションを変えなくても書き込み&読み込み可能でしょうか?もし不可能ならCGIからパーミッションを変更するしか書き込み&読み込む方法はないのでしょうか?できればその方法もお教え願います。

    • ベストアンサー
    • CGI
  • PHPで直接属性の変更はできないでしょうか?

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

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

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

  • PHP 削除やコピーが出来ない

    PHP 削除やコピーが出来ない $rcd = unlink("test.txt"); $rcd = `rm test.txt`; $rcd = exec('test.txt'); 上記のように、削除コマンドを実行しても削除されない。 コピーコマンドも、同じくで copy("hoge.txt", "hoge.dat"); fcopy("hoge.txt", "hoge.dat", TRUE); `cp hoge.txt hoge.dat` と、やってみたが削除対象ファイルなどに変化はありません。 ちなみに、削除対象ファイルのパーミッションは、644。 PHPファイルは、755. レンタルサーバーを、二つほど変えてみたが同じでした。 エラーを表示することも無かったので、何が悪いのかさっぱり分かりません。 何か、よい方法を教えてください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 【PHP】新規ファイル生成を不可にする方法は?

    PHP5(レンタルサーバー)使用者です。 PHPでのファイルの新規生成を不可にするにはどうすればよいのでしょうか。 php.iniでfopen関数を禁止にしてしまうと読み込みまでできなくなってしまいますし… <環境> OS: FreeBSD 6.2 PHP: 5.2.8 php.ini: 操作可 お詳しい方、よろしくお願いします。

    • 締切済み
    • PHP
  • Movable Typeで再構築時に生成されるファイルのパーミッションの変更方法について

    Movable Typeのインデックスアーカイブにtest1.cgiとindex.htmlとtest2.phpを作成して再構築した所、index.htmlとtest2.phpは問題なく動作したのですが、test1.cgiはInternal Server Errorが発生しました。 FTPを用い、test1.cgiのパーミッションを755にすると動作したのですが、再構築時に自動的にパーミッションを755にする方法をご存知の方がいらっしゃいましたら、ご教示いただければと思います。 なお、拡張子htmlや拡張子phpなどは今までどおりパーミッション666で生成したいと思います。 【使用バージョン】 Movable Type 3.37 以上、よろしくお願いします。

  • PHPでのindex.htmlの生成ができません

    相互リンクを完全自動化するために 「相互リンクSEO-P-Link ver1.3」 http://sougobosyu.com/seoplink_php.html というものをDLして設定を行いました。 ほぼ問題なく進行していたのですが、上記のページの 「7.上部の『HTML再構築』をクリックしてください。 相互リンク集のトップページ『index.html』と各カテゴリページが生成されます。」 「8.http://○○○○○○/□□□□□/index.htmlへアクセスできれば完了です。」 という部分がどうしてもうまくいきません。 http://○○○○○○/□□□□□/index.htmlを入力してもロリポップの「存在しないページ」的なエラーが表示されるのです。 URLの間違いかと思い確認しましたが間違いは無いようです。(もちろん○や□の部分は任意のものに変更しています。) そもそも「『index.html』と各カテゴリページが生成されます。」と記載されていますが、イメージとしては『HTML再構築』をクリックするとサーバ側に『index.html』と各カテゴリページのhtmlファイルが自動でポコポコッと作成されるのでしょうか? それとも、htmlファイルは私のほうで手動で作成し、そこにページの内容が作成されていくのでしょうか? PHPを始めたばかりで、分からない事だらけで申し訳ありませんがどなたかご教授いただけましたら幸いです。 ちなみにですが、PHPの設定(?すいません「設定」という表現が正しいかどうかは分かりませんが)は下記のページのガイダンス通りに行いました。 http://www.standpower.com/php_environment.html 利用しているのはPHPが利用できるという「ロリポップ」です。 OSはwindowsXPです。 長文になり申し訳ございません。何卒よろしくお願い致します。

    • ベストアンサー
    • PHP
  • 【PHP】ファイル生成/削除禁止の企業サーバーってありますか?

    PHP実務歴2年です。 いままでレンタルサーバー内でのプログラミングばかりでしたが、今後企業へのプログラム納品がありそうなためお伺いします。 レンタルサーバー内で当然のごとく使えていた関数が企業所有のサーバーでは禁止されている… そんな関数はありますでしょうか。 特に危惧しているのは以下の関数です。 1)ファイル/ディレクトリを生成する関数 2)ファイル/ディレクトリを削除する関数 3)ファイル/ディレクトリを改名/移動する関数 4)ファイルをコピーする関数 5)属性を変更する関数 いままで井の中の蛙でしたんで場合によっては開発方針を変えなくてはなりません。 できれば大企業のサーバーを経験された方、アドバイスをいただけませんでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • レンタルサーバーに設置したファイルが消せなくなった

    表題の通り、レンタルサーバー(aaacafe)に phpで動くブログスクリプト設置しまして、運営していました。 自動生成されるファイルやディレクトリが自分の権限ではなくて、 apacheのnobody権限で作成されてしまい、FTPで消せなくなってしまったのですが、 どうすれば消せるようになるでしょうか。 セーフモードで動いているサーバーみたいで、困っています。 phpが作ったファイルなので、phpで動くファイルマネージャーみたいなのを探していたのですが、 あいにくみつからず困っています。どうすればよいでしょうか。

    • 締切済み
    • PHP
  • coreserverでファイル作成時の権限寄与

    お世話になります。 レンタルサーバーのcoreserverを使用しております。 PHPにてindex.phpファイルを自動生成しているのですが、 生成されたファイルのパーミッションが644となってしまいますが、 生成時に606を与える事は可能でしょうか? ftpソフトによる権限寄与は可能なのですが、自動で行いたいと考えております。 chmod("index.php",606);としても、 当然ですがパーミッションエラーで書き換えすらできない状態です。 .htaceesでapacheの設定を変えるのか?とは思いついたのですがいまいち どのように記述したらいいかもわかりませんでした。 自分なりに検索したり書籍を見ましたが、これといった回答が見つからず困っています。 無理ならあきらめますが、どなたか詳しい方がいたら是非ご教授願いたいです。 よろしくお願い致します。 【サーバ環境】 CPU Intel Xeon CPU E5-2670 0 @ 2.60GHz MemTotal 12367MB Apache 1.3 PHP 5.5.3 RUBY 1.8.5 MySQL 5.1.22-rc

    • ベストアンサー
    • PHP

専門家に質問してみよう