在PHP中将chmod设置为完整路径

时间:2014-11-06 17:59:40

标签: php algorithm function path chmod

我有输入路径: /var/www/site.com/1/2/3/4/file.php

我想:在/var/www/site.com /

之后的每个元素上设置chmod 755

e.g。通过通用算法做到这一点:

chmod ('/var/www/site.com/1/', 0755);
chmod ('/var/www/site.com/1/2/', 0755);
chmod ('/var/www/site.com/1/2/3/', 0755);
chmod ('/var/www/site.com/1/2/3/4/', 0755);
chmod ('/var/www/site.com/1/2/3/4/file.php', 0755);

你能帮助我吗?

P.S。:只是chmod完整路径,而不是递归。

1 个答案:

答案 0 :(得分:0)

<?php
function chmod_path($base, $path, $perm) {
    $full_path = $base;
    foreach (explode(DIRECTORY_SEPARATOR, $path) as $dentry) {
        $full_path .= DIRECTORY_SEPARATOR.$dentry;
        chmod($full_path, $perm);
    }
}

chmod_path('/var/www/site.com', '1/2/3/4/file.php', 0755);
?>