2011-10-25 45 views
3

這裏是什麼我不明白:PHP:fileperms()值,然後進行轉換

的文件具有權限0644這如果我使用php's fileperms()函數返回16804爲整數,如果我做的var_dump( )。什麼/在哪裏)兩個,我怎麼能轉換,可以說0755,成任何fileperms(之間的關係將返回0755

THX

集*

回答

5

16804的十進制數表示對於octal number 40644.請檢查Example #2 of the PHP manual以瞭解這些值的含義。

40644提取:

  • 4 - 該文件是一個目錄
  • 0 - 填充,以獲得第一4 5號位置
  • 6 - 可讀寫的所有者
  • 4 - 僅可讀取組
  • 4 - 只可讀取世界。

PHP將具有前導零的數字識別爲八進制數。如果您需要將包含0755755的字符串轉換爲十進制數,請使用octdec()。反轉功能(小數到八進制)是decoct()

如果需要更改文件的文件權限,請使用chmod()。爲了這個工作,你需要成爲文件的所有者,否則你會得到一個權限被拒絕錯誤。

+0

優秀...我明白了。八進制值的第一個索引有點混亂。如果4 =目錄什麼是文件然後?我在搜索網頁時沒有發現任何東西。 – setcookie

+0

根據PHP示例,一個常規文件是'0x8000'(八進制:0100000) – Lekensteyn

+0

同一鏈接,八進制數和php手冊 – igonejack

相關問題