存在しない場合に最初に新しいファイルとして作成されるファイルを保存するときのファイル権限に関する質問。
さて、これはすべてうまくいき、保存されたファイルはモード644
。
ファイルをモードとして保存するには、ここで何を変更する必要がありますか777
?
ヒント、手がかり、または回答をありがとうございました。私がここに含めた関連があると私が思うコード:
/* write to file */
self::writeFileContent($path, $value);
/* Write content to file
* @param string $file Save content to wich file
* @param string $content String that needs to be written to the file
* @return bool
*/
private function writeFileContent($file, $content){
$fp = fopen($file, 'w');
fwrite($fp, $content);
fclose($fp);
return true;
}
PHPにはbool chmod(string $filename, int $mode )
という組み込み関数があります
private function writeFileContent($file, $content){
$fp = fopen($file, 'w');
fwrite($fp, $content);
fclose($fp);
chmod($file, 0777); //changed to add the zero
return true;
}
chmod()
を使用して、必要な権限を手動で設定するだけです。
private function writeFileContent($file, $content){
$fp = fopen($file, 'w');
fwrite($fp, $content);
fclose($fp);
// Set perms with chmod()
chmod($file, 0777);
return true;
}
既存のファイルの権限を変更したい場合は、 chmod (変更モード)を使用します。
$itWorked = chmod ("/yourdir/yourfile", 0777);
すべての新しいファイルに特定の権限を付与する場合は、umode
の設定を確認する必要があります。これは、デフォルトの変更を標準モードに適用するプロセス設定です。
減法です。つまり、umode
が022
の場合、デフォルトの権限は755
(777 - 022 = 755
)になります。
しかし、これらのオプションについてverybothについて慎重に考える必要があります。そのモードで作成されたファイルは、変更から完全に保護されません。