我的文件名存储在变量 $ file_name 中...如何删除扩展程序,只有名称?除了strcmp之外我还可以使用......似乎没有这样做
答案 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));