あるソースコードを見ていたら、拡張子の取得部分が以下のように書かれていました。 方法1 <?php $file_nm = $_FILES['upfile']['name']; $tmp_ary = explode('.', $file_nm); $extension = $tmp_ary[count($tmp_ary)-1]; ?> 処理手順を説明すると以下のような感じでしょうか。 ファイル名の文字列を「.」で分割して配列に格納 countで配列の全要素数を計算 全要素数から-1したものをキーとする キーから配列の最後の要素の文字列(つまりは拡張子)を得る 正規表現を用いない、ある意味スマートな方法といえるのかもしれません。ただパッと見の印象としてはわかりづらいかと思います。 方法2 で、もうちょっと簡単に書けないものかと調べてみました。以下PHPマニュアルより引用。 mixed path