PHP - 从文件名字符串中剥离扩展名

标签 php string

我想从文件名中去除扩展名,并获取文件名 - 例如file.xml -> 文件,image.jpeg -> 图片,test.march.txt -> test.march 等

所以我写了这个函数

function strip_extension($filename) {
   $dotpos = strrpos($filename, ".");
   if ($dotpos === false) {
      $result = $filename;
   }
   else {
      $result = substr($filename,0,$dotpos);
   }
   return $result;
}

返回一个空字符串。

我看不出我做错了什么?

最佳答案

正在寻找 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
?>

结果:

/www/htdocs/inc
lib.inc.php
php
lib.inc

让自己省心,使用已经构建的函数。 ;-)

关于PHP - 从文件名字符串中剥离扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5898851/

相关文章:

jquery - 删除包含字符串的 li

arrays - 从 rust 中从数组转换的字符串中删除多余的长度

database - 主服务器出错时的不同连接字符串

javascript - 在 Javascript 中匹配一个词后查找下一个词

PHP XMLWriter:我需要传递哪些参数来传递两个 XMLWriter::write IdEntity 以生成所描述的嵌套实体 DTD 声明?

php - 编辑 sudoers 文件不生效

php - Laravel 集合按条件过滤并拆分

php - Symfony 4 - 两个目录中的 Controller

python - 将矩阵的元素转换为 float

php - 从数据库填充下拉列表