【PHP8.x】getBasenameメソッドの使い方

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

作成日: 更新日:

基本的な使い方

getBasenameメソッドは、PHPのSplFileInfoオブジェクトが表すファイルやディレクトリの基底名を取得するメソッドです。ここで言う基底名とは、ファイルパスやディレクトリパスからディレクトリ部分を取り除いた、ファイルやディレクトリそのものの名前を指します。

このメソッドは、引数の有無によって異なる結果を返します。引数を指定しない場合、例えば「/path/to/document.pdf」のようなファイルパスからは「document.pdf」というように、拡張子を含む完全なファイル名を返します。対象がディレクトリであれば、そのディレクトリ名をそのまま返します。

オプションとして、suffixという文字列を引数に指定することができます。このsuffixを指定すると、取得される基底名の末尾に指定したsuffixがある場合、そのsuffixを取り除いた部分を返します。例えば、「document.pdf」に対して.pdfsuffixとして指定すると「document」という拡張子なしの名前が得られます。これは、ファイルパスから特定の拡張子を取り除いたファイル名だけを取得したい場合に特に便利です。

SplFileInfoクラスはファイルシステム上のファイルやディレクトリに関する情報を取り扱うためのクラスであり、getBasenameメソッドは、ファイルやディレクトリの名前部分を効率的に抽出し、操作する必要がある場面で非常に役立ちます。パスの解析や、特定のファイル名パターンに基づいて処理を行う際などに活用される基本的な機能の一つです。

構文(syntax)

1<?php
2$fileInfo = new SplFileInfo('/path/to/document.pdf');
3$basenameWithExtension = $fileInfo->getBasename();
4$basenameWithoutPdf = $fileInfo->getBasename('.pdf');

引数(parameters)

?string $suffix = null

  • ?string $suffix = null: ファイル名から取り除く接尾辞を指定する文字列。指定しない場合は、ファイル名の末尾にあるこの文字列が取り除かれる

戻り値(return)

string

SplFileInfo::getBasename()は、ファイルパスの最後の要素(ファイル名またはディレクトリ名)を文字列として返します。

【PHP8.x】getBasenameメソッドの使い方 | いっしー@Webエンジニア