Я использую PHP 5.3.5-1ubuntu7.2 (с safe_mode
= Off
) и не могу правильно установить режим для любого файла или каталога из скрипта PHP, я написал следующеетест (просто чтобы убедиться):
<code>$result = array();
if (mkdir('./I/do/not/exist/', 0777, true) === true)
{
$result['./I/'] = sprintf('%s (%s)', getFileOwner('./I/'), getFilePermissions('./I/'));
$result['./I/do/'] = sprintf('%s (%s)', getFileOwner('./I/do/'), getFilePermissions('./I/do/'));
$result['./I/do/not/'] = sprintf('%s (%s)', getFileOwner('./I/do/not/'), getFilePermissions('./I/do/not/'));
$result['./I/do/not/exist/'] = sprintf('%s (%s)', getFileOwner('./I/do/not/exist/'), getFilePermissions('./I/do/not/exist/'));
$result[__DIR__] = sprintf('%s (%s)', getFileOwner(__DIR__), getFilePermissions(__DIR__));
$result[__FILE__] = sprintf('%s (%s)', getFileOwner(__FILE__), getFilePermissions(__FILE__));
}
echo '<pre>';
print_r($result);
echo '
';function getFileOwner ($ path) {$ user = posix_getpwuid (fileowner ($ path));$ group = posix_getgrgid (filegroup ($ path));return implode (':', массив ($ user ['name'], $ group ['name']));} function getFilePermissions ($ path) {return substr (sprintf ('% o', fileperms ($ path)), -4);}
И это вывод:
Array
(
[./I/] => www-data:www-data (0755)
[./I/do/] => www-data:www-data (0755)
[./I/do/not/] => www-data:www-data (0755)
[./I/do/not/exist/] => www-data:www-data (0755)
[/home/alix/Server/_] => alix:alix (0777)
[/home/alix/Server/_/chmod.php] => alix:alix (0644)
)
Почему ни одна из (под) папок ./I/do/not/exist/
не получает указанных (0777
) разрешений?