PHP条未知的文件扩展名

问题描述:

据我所知,使用PHP的basename()功能,您可以从像这样的路径剥离已知文件扩展名,PHP条未知的文件扩展名

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

,但如果你不知道这个文件有什么扩展什么或该延长的长度?我怎么做到这一点?

在此先感谢!

pathinfo()已经讲到这里,但我喜欢从PHP 5.2添加它也有一个简单的方法来访问没有扩展名的文件名。

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

$filename的值将是file

+0

太棒了,我忘了它。它应该是被接受的答案 - 没有黑客,正则表达式,字符串操作和只有一行。 – galymzhan 2011-06-02 15:16:20

+0

@galymzhan不用担心接受的答案,我只是添加它以备将来参考。您的解决方案仍然适用于PHP kapa 2011-06-02 15:18:00

+0

谢谢我接受你的答案! - 这是一行代码,更简单一些。 – 2011-06-02 15:42:39

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

您可以使用pathinfo提取扩展名并将其剪下。

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

注意.$ext

试试这个: -

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

$pathParts = pathinfo($path); 

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

你可以用这个尝试:

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