在PHP開發(fā)過程中,有很多情況下需要對文件進(jìn)行操作(例如文件上傳等),因而文件目錄操作占有重要的地位。從本篇文章開始,我們通過一系列文章來聊聊php中的文件操作,從簡單到難,和我一起開始學(xué)習(xí)吧。(本人還是一個在PHP大道上一點(diǎn)點(diǎn)探索的萌新,我們一起看《PHP視頻教程》進(jìn)行PHP學(xué)習(xí)吧,你想要的這里都有!)
好了,開始正文!
如標(biāo)題所述,本文中心是聊聊文件模式。首先我們來簡單了解一下PHP中文件模式。
在對一個文件進(jìn)行操作前,我們首先第一步是打開這個文件;而打開文件時,就需要考慮如何使用它?要對打開的文件進(jìn)行什么操作?即以什么模式打開(只讀?只寫?還是讀寫模式?)。
文件模式可以指定:一個文件打開之后,是否還允許其他腳本再打開,使用者(或腳本)是否具有在這種方式下使用該文件的權(quán)限。
在寫入文件時,有幾種情況:一種是清空文件原有內(nèi)容并寫入新數(shù)據(jù)(即覆蓋所有已有的文件內(nèi)容);一種是直接將新數(shù)據(jù)追加到文件末尾;另一種是在文件的開頭插入新數(shù)據(jù)。
好了,上面我們簡單的了解了PHP中的文件模式,下面我們來看看PHP如何改變文件模式?
在PHP中,我們可以通過內(nèi)置函數(shù)chmod()
來改變文件模式,該函數(shù)可以更改指定文件的權(quán)限,可以將指定文件的模式更改為用戶指定的特定模式。
chmod()函數(shù)可以接受兩個參數(shù):
$filename
和$mode
;其中,$filename
指定需要更改權(quán)限的文件,$mode
用于指定新的權(quán)限。
$mode
參數(shù)由四個數(shù)值組成,其中第一個值始終為零,第二個值指定所有者的權(quán)限,第三個值指定所有者的用戶組的權(quán)限,第四個值指定其他所有人的權(quán)限。代表權(quán)限的數(shù)字有三個可能的值,要設(shè)置多個權(quán)限,可以使用下面的數(shù)字進(jìn)行總計(jì):
1 = 執(zhí)行權(quán)限
2 = 寫權(quán)限
4 = 讀權(quán)限
例:
5 = 4 + 1 = 讀取+執(zhí)行權(quán)限
6 = 4 + 2 = 讀取+寫入權(quán)限
7 = 4 + 2 + 1 = 讀取+寫入+執(zhí)行權(quán)限,即提供一切權(quán)限
下面我們通過代碼實(shí)例來具體了解一下PHP內(nèi)置函數(shù)chmod()是如何改變文件模式的。
實(shí)例1:設(shè)置所有者有讀寫權(quán)限,其他人不可以
<?php chmod("PHP.txt", 0600); ?>
可以看出:$mode
參數(shù)為“0600
”,只設(shè)置了所有者的權(quán)限為6(讀寫)。
輸出:
TRUE
說明:當(dāng)使用chmod()函數(shù)執(zhí)行改變文件模式操作后,執(zhí)行成功返回TRUE,失敗返回FALSE。
實(shí)例2:設(shè)置所有者有讀寫權(quán)限,其他所有人只有讀權(quán)限
<?php chmod("PHP.txt", 0644); ?>
輸出:
TRUE
$mode
參數(shù)為“0644
”,則所有者權(quán)限為6(讀寫),所有者的用戶組和其他所有人的權(quán)限為4(只讀)。
實(shí)例3:設(shè)置所有者一切權(quán)限,其他所有人有讀取+執(zhí)行權(quán)限
<?php chmod("PHP.txt", 0755); ?>
輸出:
TRUE
$mode
參數(shù)為“0755
”,則所有者權(quán)限為7(讀取+寫入+執(zhí)行權(quán)限),所有者的用戶組和其他所有人的權(quán)限為5(讀取+執(zhí)行權(quán)限)。
好了就說到這里了,有其他想知道的,可以點(diǎn)擊這個哦?!?→PHP文件基礎(chǔ)操作