-2
我不知道爲什麼,但PHP在創建文件時,例如使用file_put_contents()
等內置函數,它默認文件權限爲644
。PHP - 默認文件權限爲644
我怎樣才能讓它默認爲777
呢?我需要這樣做才能在稍後使用我的FTP客戶端編輯或刪除它們。
我不知道爲什麼,但PHP在創建文件時,例如使用file_put_contents()
等內置函數,它默認文件權限爲644
。PHP - 默認文件權限爲644
我怎樣才能讓它默認爲777
呢?我需要這樣做才能在稍後使用我的FTP客戶端編輯或刪除它們。
您可以使用chmod(filename,mode)更改文件權限。一個小測試,看看它是否工作,重要的是使用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';
}
777是一個*糟糕的*想法。如果您的FTP客戶端需要777權限,請使用不同的權限。 – FluffyKitten
但無論如何,我怎麼能做到這一點? –