0

RecursiveDirectoryIteratorRecursiveIteratorIteratorphp クラスの両方を使用して、特定のパスのファイルまたはディレクトリのアクセス許可を再帰的に設定する関数を構築しようとしています。しかし、うまくいかないようですので、喜んでお手伝いさせていただきます。ありがとう!

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;
} 
4

1 に答える 1

0

ファイルをchmodするには、phpスクリプトをルートとして実行する必要があることに注意してください。

sudo chmod -Rディレクトリとそのサブディレクトリ内のファイルに chmod を再帰的に適用するために使用することもできます。

于 2013-07-10T19:21:51.493 に答える