PHP - 默认文件权限为644

时间:2017-09-23 17:30:30

标签: php file permissions

我不知道为什么,但PHP,在创建文件时,例如,使用他们的内置函数,如file_put_contents(),它默认文件权限为644

如何将其默认为777?我需要它才能在以后使用我的FTP客户端编辑或删除它们。

1 个答案:

答案 0 :(得分:0)

您可以使用chmod(文件名,模式)来更改文件权限。一个小测试,看它是否有效,重要的是使用clearstatcache()从PHP获得更新的答案:

$perms=fileperms("dummy.txt");
echo 'start : ' . substr(sprintf('%o', $perms), -4);
echo '<br />';

$success=chmod("dummy.txt", 0777);
var_dump($success);
echo '<br />';

clearstatcache(); // to make sure we get an updated answer

$perms_chg=fileperms("dummy.txt");
echo 'file permissions are changed to : ' . substr(sprintf('%o', $perms_chg), -4) . ' from : ' . substr(sprintf('%o', $perms), -4);
echo '<br />';

$time=time();
file_put_contents("dummy.txt", $time);

$perms=fileperms("dummy.txt");
echo 'file permissions after writing data to file : ' . substr(sprintf('%o', $perms), -4);

if($perms === $perms_chg)
{
    echo '<br />';
    echo 'file_put_contents has NOT changed file permissions';
}
else
{
    echo '<br />';
    echo 'file_put_contents HAS changed permissions to some default setting'; 
}