関数の概要
PHPの basename 関数は、ファイルパスからファイル名のみを取得するための便利な関数です。パスの最後の部分、つまりファイル名と拡張子を含む部分だけを抜き出すことができます。これにより、複雑なパス文字列からファイル名だけを簡単に取り出すことができます。
パラメータの説明
path(必須): ファイルパスを含む文字列。ファイル名を抽出したいパスを指定します。suffix(任意): 省略可能な文字列で、ファイル名の末尾からこの文字列を取り除きます。主に拡張子を省きたいときに使います。
戻り値
指定したパスから抽出したファイル名の文字列を返します。必要に応じて、拡張子を省いたファイル名を取得することも可能です。
使用例
基本的な使い方
<?php
$path = '/var/www/html/index.php';
echo basename($path); // 出力: index.php
?>
ここではフルパスから「index.php」というファイル名だけを抜き出しています。
拡張子を省いてファイル名だけを取得する例
<?php
$path = '/var/www/html/index.php';
echo basename($path, '.php'); // 出力: index
?>
第二引数に拡張子を指定することで、その部分を取り除いたファイル名を取得しています。
複雑なパスからファイル名を取得する例
<?php
$path = '/home/user/documents/2024/report_final.pdf';
echo basename($path); // 出力: report_final.pdf
echo basename($path, '.pdf'); // 出力: report_final
?>
長いパスからでも容易にファイル名だけを取得でき、さらに拡張子の取り除きも可能です。
関連する関数
dirname– パスからディレクトリ部分のみを取得する関数。pathinfo– パスのディレクトリ名、ファイル名、拡張子などを配列で取得する。realpath– パスの正規化(絶対パスを取得)を行う関数。
まとめ
basename 関数は、ファイルのパスからファイル名を抜き出す際に非常に役立つ関数です。特にアップロードしたファイル名を取得したり、パスの整理を行う場合に使われます。拡張子を省きたい場合も第二引数で簡単に対応可能であり、実務でも頻繁に活用される基本的かつ重要な関数と言えます。
