簡體   English   中英

使用RecursiveIteratorIterator遞歸chmod文件

[英]recursively chmod files using RecursiveIteratorIterator

我正在嘗試使用RecursiveDirectoryIteratorRecursiveIteratorIterator php類來遞歸設置給定路徑的文件或目錄權限的函數。 但是事情似乎沒有用,所以我很樂意收到您的幫助。 謝謝!

function rSetPerms($path ,$filemode = '0644', $foldermode = '0705')
{ 

    if(!is_dir($path) and !file_exists($path)) return false;

        $paths = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::SKIP_DOTS), RecursiveIteratorIterator::SELF_FIRST);

        foreach ($paths as $item) {
            if ($item->isDir()) 
            {
                if (!@ chmod($item->__toString(), octdec($foldermode))) return false;
            } 
            else 
            {
                if (!@ chmod($item->__toString(), octdec($filemode))) return false;
            }
    }
    return true;
} 

您應該記住,您的php腳本需要以root用戶身份執行才能chmod文件。

您也可以只使用sudo chmod -R將chmod遞歸地應用於目錄及其子目錄中的文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM