Php 我的代码破坏了文件名

Php 我的代码破坏了文件名,php,regex,Php,Regex,如何在获取文件扩展名时保留文件名中的点? 我正在分解字符串以获取文件扩展名,但随后文件名中的所有点也消失了 $description = ''; $file = "Another Magazine. photos by joe smith. girl_brunette_headband.jpg"; $file = explode('.',$file); $extension = end($file); $num_rows = count($file);

如何在获取文件扩展名时保留文件名中的点? 我正在分解字符串以获取文件扩展名,但随后文件名中的所有点也消失了

    $description = '';
    $file = "Another Magazine. photos by joe smith. girl_brunette_headband.jpg";
    $file = explode('.',$file);
    $extension = end($file);

    $num_rows = count($file);
    $j=0;
    while($j<=$num_rows){
        $description .= $file[$j];
        $description = preg_replace("/$extension/", '', $description);
        $j++;
    }

    echo $description;// outputs:  Another Magazine photos by joe smith girl_brunette_headband
$description='';
$file=“另一本杂志。乔·史密斯照片。女孩\黑发\头带。jpg”;
$file=分解('.',$file);
$extension=end($file);
$num_rows=count($file);
$j=0;
而($jehm)
echo substr($file,0,strrpos($file,'.');

ehm
echo substr($file,0,strrpos($file,'.');

要获取文件名(即不带扩展名的基本名称),可以使用以下函数:

$description = pathinfo($file, PATHINFO_FILENAME);
要获得扩展,它类似于:

$ext = pathinfo($file, PATHINFO_EXTENSION);
要获取文件名(即不带扩展名的basename),可以使用以下函数:

$description = pathinfo($file, PATHINFO_FILENAME);
要获得扩展,它类似于:

$ext = pathinfo($file, PATHINFO_EXTENSION);

要考虑的另一种情况是:
gift.gif
。使用当前代码,它将返回
t
。你知道,它不是爆炸破坏文件名。如果不爆炸,那么什么是删除点?要考虑的另一种情况是:
gift.gif
。使用当前代码,它将返回
t
。它不是爆炸破坏文件名,你知道。如果不是explode,那么什么是删除点?它没有给出扩展名。而是文件名。引用:>>我想要输出的是:另一本杂志。joe smith拍摄的照片。>girl“U brunette”Headbindit没有给出扩展名。而是文件名。引用:>>我想要输出的是:另一本杂志。joe smith拍摄的照片。>girl“U brunette”头带