PHP PHP中的递归chmod

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP PHP中的递归chmod相关的知识,希望对你有一定的参考价值。

<?
    /**
      Chmods files and folders with different permissions.

      This is an all-PHP alternative to using: \n
      <tt>exec("find ".$path." -type f -exec chmod 644 {} \;");</tt> \n
      <tt>exec("find ".$path." -type d -exec chmod 755 {} \;");</tt>

      @author Jeppe Toustrup (tenzer at tenzer dot dk)
      @param $path An either relative or absolute path to a file or directory
      which should be processed.
      @param $filePerm The permissions any found files should get.
      @param $dirPerm The permissions any found folder should get.
      @return Returns TRUE if the path if found and FALSE if not.
      @warning The permission levels has to be entered in octal format, which
      normally means adding a zero ("0") in front of the permission level. \n
      More info at: http://php.net/chmod.
    */

    function recursiveChmod ($path, $filePerm=0644, $dirPerm=0755) {
        // Check if the path exists
        if (!file_exists($path)) {
            return(false);
        }

        // See whether this is a file
        if (is_file($path)) {
            // Chmod the file with our given filepermissions
            chmod($path, $filePerm);

        // If this is a directory...
        } elseif (is_dir($path)) {
            // Then get an array of the contents
            $foldersAndFiles = scandir($path);

            // Remove "." and ".." from the list
            $entries = array_slice($foldersAndFiles, 2);

            // Parse every result...
            foreach ($entries as $entry) {
                // And call this function again recursively, with the same permissions
                recursiveChmod($path."/".$entry, $filePerm, $dirPerm);
            }

            // When we are done with the contents of the directory, we chmod the directory itself
            chmod($path, $dirPerm);
        }

        // Everything seemed to work out well, return true
        return(true);
    }
?>

以上是关于PHP PHP中的递归chmod的主要内容,如果未能解决你的问题,请参考以下文章

PHP中的递归chmod

PHP中的递归chmod

PHP 使用PHP递归chmod

用PHP递归chmod

递归 chmod/chown/chgrp 目录中的所有文件和文件夹

在 PHP / Apache / Linux 上下文中,为啥 chmod 777 是危险的?