こんにちは、さるまりんです。
PHPの小ネタです。
ファイルパスの文字列から「ファイル名」の部分、ファイルのある「親ディレクトリ」の部分を取得するにはそれぞれbasename
関数とdirname
関数を使います。
$path
変数にファイルのパスを表す文字列を設定し、それぞれの関数を呼び出し結果を表示します。
プログラムはこんな感じです。
$path = "/home/salumarine/some_file.txt";
echo "file name : " . basename($path) . "\n";
echo "directory : " . dirname($path) . "\n";
これを実行すると↓が出力されます。
file name : some_file.txt
directory : /home/salumarine
ファイル名の部分"some_file.txt"
とディレクトリの部分の"/home/salumarine"
を取得することができていますね。
pathinfo
関数というものもあります。こちらだと上のものプラスαの情報が取得できます。
呼び出してprint_r
で出力してみます。変数$path
には同じ文字列が設定されています。
print_r(pathinfo($path));
出力はこうなります。
Array
(
[dirname] => /home/salumarine
[basename] => some_file.txt
[extension] => txt
[filename] => some_file
)
dirname
とbasename
の他に、extension
= 拡張子、filename
= 拡張子を抜いたファイル名も一緒に取得されています。
パス文字列の最後のディレクトリ区切り文字より前がディレクトリ、後がファイル名というロジックも考えられますが、関数でパッと取れるのは便利ですね。
読んでくださってありがとうございます。
それではまた!