Как изменить имя файла с расширением файла в PHP?
Например: $filename='234230923_picture.bmp'
и я хочу, чтобы расширение было изменено на jpg
.
Просто замените его регулярным выражением:
$filename = preg_replace('"\.bmp$"', '.jpg', $filename);
Вы также можете расширить этот код, чтобы удалить другие расширения изображений, а не только bmp
:
$filename = preg_replace('"\.(bmp|gif)$"', '.jpg', $filename);
$newname = basename($filename, ".bmp").".jpg"; rename($filename, $newname);
Помните, что если файл является файлом bmp, изменение суффикса не изменит формат 🙂
Не использовать regex (например, пример basename), но допускает множественные возможности расширения (например, пример регулярного выражения):
$newname = str_replace(array(".bmp", ".gif"), ".jpg", $filename); rename($filename, $newname);
Конечно, любая простая операция замены, в то время как менее дорогое, чем регулярное выражение, также заменит .bmp в середине имени файла.
Как уже упоминалось, это не изменит формат файла изображения. Для этого вам понадобится использовать графическую библиотеку.
rename()
, заменив новое расширение.
Вы можете использовать это, чтобы переименовать файл http://us2.php.net/rename и этот http://us2.php.net/manual/en/function.pathinfo.php, чтобы получить базовое имя файла и другого расширения Информация..