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

作成日: 更新日:

posix_getpwuid関数は、POSIX(Portable Operating System Interface)互換システムにおいて、指定されたユーザーID(UID)に対応するユーザーの情報を取得する関数です。この関数は、システムに登録されているユーザーの情報を、プログラムから参照したい場合に利用されます。

引数には、情報を取得したいユーザーの整数型のユーザーID(UID)を指定します。

関数が成功した場合、ユーザー情報を要素として持つ連想配列を返します。この配列には、name(ユーザー名)、passwd(パスワードハッシュ)、uid(ユーザーID)、gid(プライマリグループID)、gecos(フルネームなどのコメント)、dir(ホームディレクトリ)、shell(デフォルトシェル)といった情報が含まれます。これらの情報は、システム上のユーザーアカウントの詳細を表しています。

もし指定されたUIDに対応するユーザーが見つからない場合や、その他の理由で情報の取得に失敗した場合は、この関数はfalseを返します。そのため、関数がfalseを返した際の処理を適切に記述することが重要です。

例えば、特定のユーザーIDを持つユーザーのホームディレクトリやデフォルトのシェル情報を取得し、それを基にアプリケーションの動作を制御する際などに役立ちます。システム管理ツールやセキュリティ関連のスクリプト開発において、ユーザー情報をプログラム的に扱うための基本的な機能として利用されます。

基本的な使い方

構文(syntax)

<?php

$userId = posix_getuid();
$userInfo = posix_getpwuid($userId);

if ($userInfo !== false) {
    echo "ユーザー名: " . $userInfo['name'] . "\n";
    echo "UID: " . $userInfo['uid'] . "\n";
    echo "GID: " . $userInfo['gid'] . "\n";
    echo "ホームディレクトリ: " . $userInfo['dir'] . "\n";
    echo "シェル: " . $userInfo['shell'] . "\n";
} else {
    echo "UID " . $userId . " のユーザー情報を取得できませんでした。\n";
}

?>

引数(parameters)

int $uid

  • int $uid: ユーザーIDを指定する整数

戻り値(return)

array|false

指定されたユーザーIDに対応するパスワードファイルエントリを連想配列で返します。該当するエントリがない場合はfalseを返します。

【PHP8.x】posix_getpwuid関数の使い方 | いっしー@Webエンジニア