【PHP8.x】umask関数の使い方

作成日: 更新日:

umask関数は、ファイルやディレクトリが作成される際のデフォルトのパーミッション(アクセス権)を制御する「ファイルモード作成マスク」(umask)を設定または取得する関数です。この関数は主にUNIX系のオペレーティングシステムにおいて利用されます。umask値は、新しく作成されるファイルやディレクトリに与えられる初期のパーミッションから、どのアクセス権を「禁止」するかを指定するために使用されます。

具体的には、ファイルやディレクトリが作成される際の完全なパーミッション(例えば、ファイルは0666、ディレクトリは0777)からumask値を適用することで、最終的なパーミッションが決定されます。例えば、umask値が0022の場合、新しく作成されるファイルは所有者には書き込み権限が与えられますが、グループやその他ユーザーには書き込み権限が与えられません。

umask関数を引数なしで呼び出すと、現在のumask値が8進数として返されます。一方、引数に新しいumask値を8進数で指定して呼び出すと、umask値がその値に設定され、設定前のumask値が返されます。この設定はPHPスクリプトの実行環境に影響を与えます。適切なumask値を設定することは、システムやアプリケーションのセキュリティを確保し、意図しないファイルアクセスを防ぐ上で非常に重要です。

基本的な使い方

構文(syntax)

<?php
umask();
umask(0o022);
?>

引数(parameters)

?int $mask = null

  • ?int $mask = null: 新しいファイルパーミッションマスクを指定する整数。省略された場合は現在のマスクが返される

戻り値(return)

int

umask関数の戻り値は、PHPスクリプトが新しく作成するファイルやディレクトリにデフォルトで適用されるパーミッションマスクを表す整数です。この値は、umask関数に渡された新しいマスク値ではなく、umask関数が実行される直前の現在のマスク値です。