Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【PHP8.x】SplFileObject::getOwner()メソッドの使い方

getOwnerメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

getOwnerメソッドは、SplFileObjectクラスのインスタンスが表すファイルの所有者IDを取得するメソッドです。このメソッドは、ファイルシステム上の特定のファイルの所有者を識別する数値、すなわちユーザーID(UID)を整数型で返します。

ユーザーIDは、主にUNIX系のオペレーティングシステムにおいて、ファイルやプロセスなどのリソースにアクセスする権限を持つユーザーを一意に識別するために用いられる整数値です。このgetOwnerメソッドを使用することで、プログラム内でファイルの所有者が誰であるかを確認し、それに基づいた処理を実装することができます。

例えば、特定のユーザーが作成または所有するファイルのみを操作するようなアプリケーションや、ファイルのアクセス権限をチェックするセキュリティ関連の機能において、この所有者IDが重要な情報として活用されます。ファイルを扱う際に、そのメタデータ(付随情報)として所有者情報を取得したい場合に、このメソッドを利用します。

構文(syntax)

1<?php
2// 一時ファイルを作成し、SplFileObjectで開く例
3$filePath = sys_get_temp_dir() . '/example.txt';
4file_put_contents($filePath, 'このファイルはテスト用です。');
5
6try {
7    // SplFileObject のインスタンスを作成
8    $file = new SplFileObject($filePath, 'r');
9
10    // getOwner() メソッドを呼び出してファイルの所有者UIDを取得
11    $ownerUid = $file->getOwner();
12
13    // 取得したUIDを表示
14    echo "ファイルの所有者UID: " . $ownerUid . PHP_EOL;
15} catch (RuntimeException $e) {
16    echo "エラー: " . $e->getMessage() . PHP_EOL;
17} finally {
18    // 使用した一時ファイルを削除
19    if (file_exists($filePath)) {
20        unlink($filePath);
21    }
22}
23?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

int|false

SplFileObject::getOwner() は、ファイルオーナーのユーザーIDを整数で返します。ファイルオーナーの取得に失敗した場合は false を返します。

関連コンテンツ