posix_access
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
posix_access — ファイルのアクセス権限を判断する
パラメータ
filename
-
調べるファイルの名前。
flags
-
POSIX_F_OK
、POSIX_R_OK
、POSIX_W_OK
およびPOSIX_X_OK
のうちのひとつあるいは複数からなるマスク。POSIX_R_OK
、POSIX_W_OK
およびPOSIX_X_OK
は、ファイルが存在して読み込み/書き込み/ 実行の権限があるかどうかを調べます。POSIX_F_OK
は単にファイルが存在するかどうか だけを調べます。
例
例1 posix_access() の例
この例は $file が読み書き可能であるかどうかを調べ、 そうでない場合にエラーメッセージを表示します。
<?php
$file = 'some_file';
if (posix_access($file, POSIX_R_OK | POSIX_W_OK)) {
echo 'このファイルの読み込みと書き込みが可能です!';
} else {
$error = posix_get_last_error();
echo "エラー $error: " . posix_strerror($error);
}
?>
参考
- posix_get_last_error() - 直近で失敗した posix 関数が設定したエラー番号を取得する
- posix_strerror() - 指定したエラー番号に対応するシステムのエラーメッセージを取得する
+add a note
User Contributed Notes 1 note
unixguy at earth dot com ¶
10 years ago
It should be noted that this function performs access checks based on the real UID and real GID of the process running PHP. These aren't necessarily the same as the effective UID and GID.
In other words, it may well be that access() returns “true” for a particular permission, but an fopen() operation which requires the same permission will fail, and vice versa.
Keep that in mind if you use access() for such checks.
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google