【PHP8.x】SplFileObject::getPathInfo()メソッドの使い方
getPathInfoメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
getPathInfoメソッドは、SplFileObjectクラスのインスタンスが表すファイルやディレクトリのパスに関する詳細情報を取得するメソッドです。このメソッドは、ファイルシステム上のファイルやディレクトリをオブジェクトとして扱うSplFileObjectオブジェクトに対し、そのパス情報をより細かく解析して提供するために使用されます。
具体的には、getPathInfoメソッドは、対象となるファイルやディレクトリのパスを解析し、そのパスに含まれるディレクトリ名、ファイル名(ベース名)、拡張子といった個別の情報を保持するSplFileInfoオブジェクトを返します。返されたSplFileInfoオブジェクトを使うことで、元のファイルパス全体から、必要な部分の情報を簡潔かつ効率的に取得・操作することが可能になります。
例えば、SplFileObjectが「/usr/local/data/report.csv」というファイルを指している場合、getPathInfoメソッドを呼び出すと、SplFileInfoオブジェクトを通じて「/usr/local/data」というディレクトリ名、「report.csv」というベース名、「csv」という拡張子など、それぞれの情報を簡単に得ることができます。これは、ファイルの属性に基づいて処理を分岐させたい場合や、特定のパス情報を抽出して利用したい場合に非常に有効です。このメソッドは引数をとりません。
構文(syntax)
1<?php 2$temporaryFilePath = 'example_file.txt'; 3file_put_contents($temporaryFilePath, 'This is some sample text.'); 4 5$fileObject = new SplFileObject($temporaryFilePath, 'r'); 6 7$pathInfoObject = $fileObject->getPathInfo(); 8 9// オプション引数 $class を指定する場合の構文は以下のようになりますが、 10// 通常はデフォルトの SplFileInfo クラスが返されます。 11// $customPathInfoObject = $fileObject->getPathInfo('MyCustomSplFileInfoClass'); 12 13unlink($temporaryFilePath);
引数(parameters)
?string $class = NULL
- string $class = NULL: ファイルパスの情報を取得するためのクラス名を指定します。NULLを指定すると、デフォルトのクラスが使用されます。
戻り値(return)
SplFileInfo
SplFileObject::getPathInfo は、現在のファイルパスに関する情報を持つ SplFileInfo オブジェクトを返します。