0

我的 URL 可以是绝对的或相对的:

$rel = "date/album/001.jpg";
$abs = "http://www.site.com/date/album/image.jpg";

function getFilename($url) {
    $imgName = explode("/", $url);
    $imgName = $imgName[count($imgName) - 1];
    echo $imgName;
}

必须有更快的方法来做到这一点吗?也许是一个 reg 表达式?但是对我来说是中文。。

4

5 回答 5

7

basename返回文件名:

function getFilename($url) {
    return basename($url);
}

您甚至可以去除文件扩展名。

于 2010-05-16T18:43:59.497 回答
4
substr( $url , strrpos( $url , "/" ) + 1 );

或者

substr( strrchr( $url , "/" ) , 1 );
于 2010-05-16T18:42:05.847 回答
1

我相信 basename 是最快的,但你也可以使用

$url = "http://www.mmrahman.co.uk/image/bg830293.jpg";
getFileName($url){
    $parts = pathinfo($url);
    return $parts['basename'];
}

pathinfo 还允许您获取文件名、扩展名、目录名等。

于 2010-05-16T21:29:32.603 回答
0

试试这个dirname功能:

http://www.php.net/manual/en/function.dirname.php

于 2010-05-16T18:42:25.753 回答
0

parse_url()

于 2010-05-16T20:37:49.900 回答