basename

関数の概要

PHPの basename 関数は、ファイルパス文字列からファイル名のみを抽出するための関数です。ディレクトリパスを除き、ファイル名部分だけを簡単に取得できるため、ファイル操作時には非常に便利です。特にフルパスからファイル名を取得して表示したり、ファイル名を元に処理を行いたい場合に役立ちます。

パラメータの説明

  • path(必須):ファイル名を取得したいパスの文字列を指定します。絶対パスや相対パスのどちらでもかまいません。
  • suffix(任意):取り除きたいファイル名の拡張子や末尾の文字列を指定します。指定した文字列がファイル名の末尾にあれば、それを取り除いた結果を返します。

戻り値

指定したパスから取り出したファイル名の文字列を返します。suffixが指定され、その文字列がファイル名の末尾に存在する場合は、その部分を削除したファイル名が返されます。

使用例

基本的な使い方

<?php
$path = "/var/www/html/index.php";
$fileName = basename($path);
echo $fileName; // 結果: index.php
?>

フルパスからファイル名のみを取り出しています。この例では「index.php」が取得されます。

拡張子を除いたファイル名を取得する

<?php
$path = "/var/www/html/index.php";
$fileName = basename($path, ".php");
echo $fileName; // 結果: index
?>

第二引数に “.php” を指定することで、ファイル名末尾の拡張子を除いた「index」が取得できます。

相対パスでも使える

<?php
$path = "images/photo.jpg";
$fileName = basename($path);
echo $fileName; // 結果: photo.jpg
?>

相対パスの場合も同様にファイル名のみ取得可能です。

拡張子が複数文字でも正確に除去

<?php
$path = "/tmp/archive.tar.gz";
$fileName = basename($path, ".tar.gz");
echo $fileName; // 結果: archive
?>

二重拡張子 “.tar.gz” も正しく除去できるため、複雑なファイル名にも対応します。

関連する関数

  • dirname:パスからディレクトリ部分だけを取得する関数
  • pathinfo:パス情報を配列や個別の要素として取得できる関数
  • realpath:絶対パスに解決する関数

まとめ

basename 関数はファイルパスからファイル名を抽出するシンプルかつ強力な関数です。拡張子を除去する第二引数もあり、さまざまな用途に対応可能です。WordPressのカスタムテーマ開発やプラグイン作成など、実務でのファイル操作時にぜひ活用してください。