5

これが私が理解できないことです:

ファイルにはパーミッション0644があり、phpのfileperms()関数を使用すると、var_dump()を作成すると16804が整数として返されます。2つの関係はどこにありますか。また、たとえば0755を、fileperms()が0755に対して返すものに変換するにはどうすればよいですか。

THX

セットする*

4

1 に答える 1

7

16804 は、8 進数40644 の 10 進数表記です。これらの値の意味については、PHP マニュアルの 2 番目の例を確認してください。

40644抽出:

  • 4- ファイルはディレクトリです
  • 04- 5 番目の位置で最初を取得するためのパディング
  • 6- 所有者が読み書き可能
  • 4- グループのみ読み取り可能
  • 4- 世界に対してのみ読み取り可能。

PHP は、先頭に 0 が付いた数値を 8 進数として認識します。0755または755を含む文字列を 10 進数に変換する必要がある場合は、 を使用しますoctdec()。逆関数 (10 進数から 8 進数へ) はdecoct()です。

ファイルのファイル許可を変更する必要がある場合は、chmod(). これが機能するには、ファイルの所有者である必要があります。そうでない場合、アクセス許可拒否エラーが発生します。

于 2011-10-25T12:38:42.373 に答える