chmod() 函數改變文件模式,chmod — Changes file mode如果成功則返回 TRUE,否則返回 FALSE,我們不只是講chmod簡單語法,而且還做了復雜的關于chmod使用實例.
chmod() 函數改變文件模式,chmod — Changes file mode,如果成功則返回 TRUE,否則返回 FALSE.
語法:chmod(file,mode)
參數 描述
file 必需,規定要檢查的文件.
mode 可選,規定新的權限.
mode 參數由 4 個數字組成:
第一個數字永遠是 0
第二個數字規定所有者的權限
第二個數字規定所有者所屬的用戶組的權限
第四個數字規定其他所有人的權限
可能的值(如需設置多個權限,請對下面的數字進行總計):
1 - 執行權限 2 - 寫權限 4 - 讀權限
來看個簡單的實例,代碼如下:
- <?php
- chmod("/somedir/somefile", 755); // decimal; probably incorrect
- chmod("/somedir/somefile", "u+rwx,go+rx"); // string; incorrect
- chmod("/somedir/somefile", 0755); // octal; correct value of mode
- ?>
改進遞歸文件模式@ infosoft ....,這是一個小短,應處理的Linux文件系統的所有文件類型,這個可以批量更改文件或目錄的權限,實例代碼如下:
- <?php
- function chmodr($path, $filemode) {
- if (!is_dir($path))
- return chmod($path, $filemode);
- $dh = opendir($path);
- while (($file = readdir($dh)) !== false) {
- if($file != '.' && $file != '..') {
- $fullpath = $path.'/'.$file;
- if(is_link($fullpath))
- return FALSE;
- elseif(!is_dir($fullpath) && !chmod($fullpath, $filemode))
- return FALSE;
- elseif(!chmodr($fullpath, $filemode))
- return FALSE;
- }
- }
- closedir($dh);
- if(chmod($path, $filemode))
- return TRUE;
- else
- return FALSE;
- }
- ?>
如果你目錄太多的話可以用如下代碼:
- <?php
- $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($pathname), RecursiveIteratorIterator::SELF_FIRST);
- //開源代碼Vevb.com
- foreach($iterator as $item) {
- chmod($item, $filemode);
- }
- ?>
新聞熱點
疑難解答