Javascriptでのファイル名を分割する正規表現を参考にして作った。
basename、pathinfoとの比較はまた今度やる。
$reg="/(.*)(?:\.([^.]+$))/";
$file_name="demon_uploader.jpg";
preg_match($reg,$file_name,$retArr);
echo "$retArr[0]"."\n<br/>";//demon_uploader.jpg
echo "$retArr[1]"."\n<br/>";//demon_uploader
echo "$retArr[2]"."\n<br/>";//jpg
echo "\n<br/>";
$file_name2=".jpg";
preg_match($reg,$file_name2,$retArr2);
echo "$retArr2[0]"."\n<br/>";//.jpg
echo "$retArr2[1]"."\n<br/>";//空文字
echo "$retArr2[2]"."\n<br/>";//jpg
参考
JavaScriptの正規表現でファイル名を分割。 | Almondlab ExternalLink