Une question concernant les autorisations de fichiers lors de l'enregistrement d'un fichier qui, lorsqu'il n'existe pas, est créée initialement en tant que nouveau fichier.
Maintenant, tout se passe bien et le fichier enregistré semble avoir le mode 644
.
Que dois-je changer ici, afin de faire enregistrer les fichiers en mode 777
?
Merci mille fois pour tout indice, indice ou réponse. Le code que je pense est pertinent ici, j'ai inclus:
/* 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 a une fonction intégrée appelée 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;
}
Il vous suffit de définir manuellement les autorisations souhaitées avec chmod()
:
private function writeFileContent($file, $content){
$fp = fopen($file, 'w');
fwrite($fp, $content);
fclose($fp);
// Set perms with chmod()
chmod($file, 0777);
return true;
}
Si vous souhaitez modifier les autorisations d'un fichier existant, utilisez chmod (changement de mode):
$itWorked = chmod ("/yourdir/yourfile", 0777);
Si vous souhaitez que tous les nouveaux fichiers disposent de certaines autorisations, vous devez examiner la configuration de votre umode
. Il s'agit d'un paramètre de processus qui applique une modification par défaut aux modes standard.
C'est un soustractif. Par cela, je veux dire un umode
de 022
vous accordera une autorisation par défaut de 755
(777 - 022 = 755
).
Mais vous devriez penser très soigneusement aux deux ces options. Les fichiers créés avec ce mode seront totalement protégés contre les modifications.