Не используется регулярное выражение (как пример базового имени), но допускается несколько возможностей расширения (например, пример регулярного выражения):
$newname = str_replace(array(".bmp", ".gif"), ".jpg", $filename);
rename($filename, $newname);
Конечно, любая простая операция замены, хотя и менее дорогая, чем регулярное выражение, также заменит .bmp в середине имени файла.
Как уже упоминалось, это не изменит формат файла изображения. Для этого вам нужно использовать графическую библиотеку.