我的代码废墟文件名

时间:2012-02-26 02:02:05

标签: php regex

如何在抓取其扩展名时保留文件名中的点? 我正在爆炸字符串以获取文件扩展名,但文件名中的所有点也会消失。

    $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

我想要的输出是:另一本杂志。照片由乔史密斯拍摄。 girl_brunette_headband

2 个答案:

答案 0 :(得分:3)

要获取文件名(即基本名称没有扩展名),您可以使用pathinfo­Docs功能:

$description = pathinfo($file, PATHINFO_FILENAME);

要获得扩展,它类似:

$ext = pathinfo($file, PATHINFO_EXTENSION);

答案 1 :(得分:0)

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