Изменить расширение файла - PullRequest
8 голосов
/ 12 ноября 2009

Как изменить имя файла с расширением в PHP?

Например: $filename='234230923_picture.bmp', и я хочу, чтобы расширение изменилось на jpg.

Ответы [ 5 ]

26 голосов
/ 12 ноября 2009
$newname = basename($filename, ".bmp").".jpg";
rename($filename, $newname);

Помните, что если файл является файлом bmp, изменение суффикса не изменит формат:)

9 голосов
/ 12 ноября 2009

Просто замените его регулярным выражением:

$filename = preg_replace('"\.bmp$"', '.jpg', $filename);

Вы также можете расширить этот код, чтобы удалить другие расширения изображения, не только bmp:

$filename = preg_replace('"\.(bmp|gif)$"', '.jpg', $filename);
3 голосов
/ 12 ноября 2009

Не используется регулярное выражение (как пример базового имени), но допускается несколько возможностей расширения (например, пример регулярного выражения):

$newname = str_replace(array(".bmp", ".gif"), ".jpg", $filename);
rename($filename, $newname);

Конечно, любая простая операция замены, хотя и менее дорогая, чем регулярное выражение, также заменит .bmp в середине имени файла.

Как уже упоминалось, это не изменит формат файла изображения. Для этого вам нужно использовать графическую библиотеку.

3 голосов
/ 12 ноября 2009

rename() файл, заменяющий новое расширение.

0 голосов
/ 12 ноября 2009

Вы можете использовать это для переименования файла http://us2.php.net/rename и это http://us2.php.net/manual/en/function.pathinfo.php для получения базового имени файла и другой информации о расширении ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...