PHP剥离未知的文件扩展名

时间:2011-06-02 14:58:54

标签: php string file-extension

我理解使用PHP的basename()函数可以从类似的路径中删除已知的文件扩展名,

basename('path/to/file.php','.php')

但如果您不知道文件的扩展名或扩展名的长度怎么办?我该如何做到这一点?

提前致谢!

5 个答案:

答案 0 :(得分:9)

这里已经提到了

pathinfo(),但是我想在PHP 5.2中添加 它还有一种简单的方法来访问文件名而没有扩展名。

$filename = pathinfo('path/to/file.php', PATHINFO_FILENAME);

$filename的值为file

答案 1 :(得分:4)

您可以使用pathinfo提取扩展程序并将其删除。

// $filepath = '/path/to/some/file.txt';
$ext = pathinfo($filepath, PATHINFO_EXTENSION);
$basename = basename($filepath, ".$ext");

请注意.

之前的$ext

答案 2 :(得分:0)

$filename = preg_replace('@\.([^\.]+)$@', '', $filename);

答案 3 :(得分:0)

试试这个: -

$path = 'path/to/file.php';

$pathParts = pathinfo( $path );

$pathWihoutExt = $pathParts['dirname'] . DIRECTORY_SEPARATOR . $pathParts['filename'];

答案 4 :(得分:0)

你可以试试这个:

$filepath = 'path/to/file.extension';
$extension = strtolower(substr(strrchr($filepath, '.'), 1));