删除文件中的最后3个字符(文件扩展名)

时间:2010-12-13 09:28:51

标签: php

我的文件名存储在变量 $ file_name 中...如何删除扩展程序,只有名称?除了strcmp之外我还可以使用......似乎没有这样做

7 个答案:

答案 0 :(得分:9)

使用pathinfo

<?php
$path_parts = pathinfo('/www/htdocs/inc/lib.inc.php');

echo $path_parts['dirname'], "\n";
echo $path_parts['basename'], "\n";
echo $path_parts['extension'], "\n";
echo $path_parts['filename'], "\n"; // since PHP 5.2.0
?>

注意:如果您不使用PHP&gt; = 5.2,请使用此命令撰写文件名

$path_parts['filename'] = substr($path_parts['basename'], 0, -1*strlen($path_parts['extension'])-1);

答案 1 :(得分:2)

你可以这样做:

$file_name_no_ext = pathinfo($file_name , PATHINFO_FILENAME);

答案 2 :(得分:1)

您应该查看pathinfo()函数。

答案 3 :(得分:1)

substr($file_name, 0, -4);

答案 4 :(得分:1)

您可以使用正则表达式。 Regular expression to remove a file's extension

答案 5 :(得分:0)

与@fire类似,但面对多个点时更加强大:

$comps = explode('.', $filename);
unset($comps[count($comps) - 1]);
$ext = implode('.', $comps);

答案 6 :(得分:-3)

我用:

$file_name = current(explode(".", $file_name));