Aller au contenu

umask()

Introduction

En PHP, la fonction umask() définit les permissions par défaut pour les fichiers et répertoires nouvellement créés. C'est un outil utile pour gérer l'accès aux fichiers dans vos scripts. Dans cet article, nous couvrirons tout ce que vous devez savoir sur umask(), y compris sa syntaxe, ses paramètres et des exemples pratiques.

Comprendre la fonction umask()

La fonction umask() définit un masque de mode de fichier qui détermine les permissions par défaut pour les fichiers et répertoires nouvellement créés. Elle accepte un paramètre optionnel représentant le nouveau masque. Si elle est appelée sans arguments, elle renvoie le masque actuel sans le modifier. Lorsqu'un masque est fourni, PHP l'applique aux permissions par défaut du système (généralement 0666 pour les fichiers et 0777 pour les répertoires) à l'aide d'une opération ET bit à bit avec le masque inversé (default & ~mask). Notez que umask() renvoie la valeur du masque précédent et affecte l'ensemble du processus PHP, et non seulement l'exécution du script actuel.

Syntaxe de la fonction umask()

La syntaxe de la fonction umask() est la suivante :

php
umask($mask);

Ici, $mask est le nouveau masque. Il doit être spécifié en notation octale (par ex., 022).

Exemples d'utilisation de umask()

Examinons un exemple d'utilisation de la fonction umask() en PHP.

Exemple 1 : Définition des permissions par défaut pour les nouveaux fichiers

php
<?php

umask(022);
$file_handle = fopen('example.txt', 'w');
fclose($file_handle);
echo 'File permissions: ' . decoct(fileperms('example.txt') & 0777);
unlink('example.txt');

Cet exemple définit les permissions par défaut pour les nouveaux fichiers sur 022 à l'aide de la fonction umask(), puis crée un nouveau fichier nommé example.txt avec des permissions par défaut de 644. L'appel ajouté à fileperms() vérifie les permissions octales résultantes. Notez que umask() s'applique également aux répertoires nouvellement créés.

Conclusion

La fonction umask() offre un moyen simple de contrôler les permissions par défaut des fichiers et répertoires dans vos scripts PHP. Nous espérons que cet article vous a permis de mieux comprendre le fonctionnement de umask() et comment vous pouvez l'utiliser dans vos propres projets.

Pratique

Que fait la fonction umask() en PHP ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.