Ce face umask
Când creezi un fișier sau un director, permisiunile cerute sunt reduse de umask: fiecare bit din mască elimină dreptul corespunzător. Cu masca obișnuită 0022, un mkdir($d, 0777) creează de fapt un director cu 0755.
Fără parametru, funcția doar returnează masca curentă. Pe servere care rulează mai multe scripturi în același proces, schimbarea afectează și celelalte cereri, deci e mai sigur să folosești chmod după creare.
Parametri
| Parametru | Descriere |
|---|---|
$mask |
Opțional. Masca nouă, în octal, de exemplu 0027. |
Ce returnează
Masca de dinainte de apel.
Exemple
Exemplul 1: Efectul măștii asupra unui director nou
<?php
$veche = umask(0027);
mkdir("privat", 0777);
umask($veche);
printf("Permisiuni: %o", fileperms("privat") & 0777);
Rezultat
Permisiuni: 750
Greșeli frecvente
- Te miri că
mkdir($d, 0777)creează un director cu0755. Așa funcționează masca. Dacă chiar ai nevoie de alte permisiuni, apeleazăchmoddupă creare.