Php 替换文件名中的点

Php 替换文件名中的点,php,replace,filenames,Php,Replace,Filenames,如何在不丢失文件扩展名的情况下用下划线替换点 $str = $_FILES['files']['name']; //file.name.word.jpg $ext = end(explode('.', $str)); $filename = explode('.', $str); //output file_name_word.jpg ps:需要在上传之前完成。。如果用户上载带有点的文件,则必须重命名该文件并将其插入到db中,然后使用提取文件名并删除其中的所有点 $filename = pat

如何在不丢失文件扩展名的情况下用下划线替换点

$str = $_FILES['files']['name']; //file.name.word.jpg
$ext = end(explode('.', $str));
$filename = explode('.', $str);
//output file_name_word.jpg
ps:需要在上传之前完成。。如果用户上载带有点的文件,则必须重命名该文件并将其插入到db中,然后使用提取文件名并删除其中的所有点

$filename = pathinfo('/path/to/your/file');
echo str_replace('.', '_', $filename['filename']);
用于提取文件名并删除其中的所有点

$filename = pathinfo('/path/to/your/file');
echo str_replace('.', '_', $filename['filename']);
缩略形式

echo preg_replace("/(\.)(?=\S+\.)/", "_", "file.name.word.jpg");
缩略形式

echo preg_replace("/(\.)(?=\S+\.)/", "_", "file.name.word.jpg");

选中此处选中此处将替换最后一个点也完成:
str_replace('.',''.',$filename['filename'])。“$filename['extension']@vladkras:不,不会的。只提取文件名。请参阅文档,这将替换最后一个点:
str_replace('.',''.',$filename['filename'])。“$filename['extension']@vladkras:不,不会的。只提取文件名。请参阅本机函数可用时避免使用正则表达式()和此复杂函数(如果您愿意):
$result=str_replace(“.”,“u”),substr($str,0,strrpos($str,”))。.end(explode(“,$str))@vladkras:本机函数:和。请参阅您使用的用法:1<代码>路径信息()
2。创建新的var
$filename
3<代码>str_替换
4。使用
创建新的风险值。concat文件名和扩展名我使用1!字符串和1!功能
preg\u replace
不是内置的?如果本机函数可用,请避免使用正则表达式pathinfo(),如果您愿意,请避免使用此复杂函数:
$result=str_replace(“.”,“uu”),substr($str,0,strrpos($str,”))。.end(explode(“,$str))@vladkras:本机函数:和。请参阅您使用的用法:1<代码>路径信息()
2。创建新的var
$filename
3<代码>str_替换
4。使用
创建新的风险值。concat文件名和扩展名我使用1!字符串和1!功能
preg\u replace
不是内置的?