如何使用 PHP 更改文件的扩展名?

新手上路,请多包涵

如何使用 PHP 更改文件的扩展名?

例如:photo.jpg 到 photo.exe

原文由 PHLAK 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 578
2 个回答

在现代操作系统中,文件名很可能在文件扩展名之前包含很长时间的句点,例如:

 my.file.name.jpg

PHP 提供了一种无需扩展名即可查找文件名的方法,考虑到这一点,然后只需添加新扩展名:

 function replace_extension($filename, $new_extension) {
    $info = pathinfo($filename);
    return $info['filename'] . '.' . $new_extension;
}

原文由 Tony Maro 发布,翻译遵循 CC BY-SA 3.0 许可协议

我喜欢 strrpos() 方法,因为它非常快速和直接 - 但是,您必须首先检查以确保文件名有任何扩展名。这是一个非常高性能的函数,它将替换现有的扩展 _或添加一个新的扩展(如果不存在_):

 function replace_extension($filename, $extension) {
    if (($pos = strrpos($filename , '.')) !== false) {
        $filename = substr($filename, 0, $pos);
    }
    return $filename . '.' . $extension;
}

原文由 Eaten by a Grue 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题