Zum Inhalt springen

umask()

Einführung

In PHP legt die Funktion umask() die Standardberechtigungen für neu erstellte Dateien und Verzeichnisse fest. Sie ist ein nützliches Werkzeug zum Verwalten des Dateizugriffs in Ihren Skripten. In diesem Artikel werden wir alles behandeln, was Sie über umask() wissen müssen, einschließlich Syntax, Parametern und praktischen Beispielen.

Die umask()-Funktion verstehen

Die Funktion umask() legt eine Dateimodus-Maske fest, die die Standardberechtigungen für neu erstellte Dateien und Verzeichnisse bestimmt. Sie akzeptiert einen optionalen Parameter, der die neue Maske darstellt. Wird sie ohne Argumente aufgerufen, gibt sie die aktuelle Maske zurück, ohne sie zu ändern. Wenn eine Maske angegeben wird, wendet PHP sie auf die Standardberechtigungen des Systems (typischerweise 0666 für Dateien und 0777 für Verzeichnisse) an, indem sie eine bitweise UND-Operation mit der invertierten Maske (default & ~mask) durchführt. Beachten Sie, dass umask() den vorherigen Maskenwert zurückgibt und den gesamten PHP-Prozess betrifft, nicht nur die Ausführung des aktuellen Skripts.

Syntax der umask()-Funktion

Die Syntax der Funktion umask() lautet wie folgt:

php
umask($mask);

Hierbei ist $mask die neue Maske. Sie muss in Oktalschreibweise angegeben werden (z. B. 022).

Beispiele zur Verwendung von umask()

Schauen wir uns ein Beispiel dafür an, wie die Funktion umask() in PHP verwendet werden kann.

Beispiel 1: Festlegen der Standardberechtigungen für neue Dateien

php
<?php

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

Dieses Beispiel legt die Standardberechtigungen für neue Dateien mit der Funktion umask() auf 022 fest und erstellt anschließend eine neue Datei namens example.txt mit Standardberechtigungen von 644. Der ergänzte Aufruf von fileperms() überprüft die resultierenden oktalen Berechtigungen. Beachten Sie, dass umask() auch für neu erstellte Verzeichnisse gilt.

Fazit

Die Funktion umask() bietet eine einfache Möglichkeit, die Standardberechtigungen für Dateien und Verzeichnisse in Ihren PHP-Skripten zu steuern. Wir hoffen, dass dieser Artikel Ihnen ein besseres Verständnis dafür vermittelt hat, wie umask() funktioniert und wie es in Ihren eigenen Projekten eingesetzt werden kann.

Praxis

Was macht die umask()-Funktion in PHP?

Finden Sie das nützlich?

Dual-run-Vorschau — vergleichen Sie mit den Symfony-Routen live.