多个basename()扩展

时间:2010-08-11 06:06:54

标签: php

我们有:

$path = "/home/httpd/html/index.php";
$file = basename($path);         // $file is set to "index.php"
$file = basename($path, ".php"); // $file is set to "index"
$file = 'index';                 // the result

我们如何查询多个文件扩展名?而不是

$file = basename($path, ".php");

类似

$file = basename($path, ".php,gif,png,jpeg,css,js,html");

因此,如果$path = "/home/image.png"; $file将获得值'image'。

我尝试使用pathinfo()[filename],但我的服务器不支持PHP 5.2。

2 个答案:

答案 0 :(得分:5)

$file = basename($path);
$info = pathinfo($file);
$name = basename($file,'.'.$info['extension']); // index

如果您使用PHP> 5.2.0

$info = pathinfo('/www/awesomepath/index.php');
$name = $info['filename']; //index

答案 1 :(得分:1)

我认为这样做

preg_match('/[\/]*([^\/]+)\.([^\.]+)$/i', $file, $match);
//$match[1] -> the result
//$match[2] -> the extension