URL-获取PHP中的最后一部分

URL-获取PHP中的最后一部分,php,html,regex,url,Php,Html,Regex,Url,我有我的网址: http://domain/fotografo/admin/gallery_bg.php 我想要url的最后一部分: gallery_bg.php 但是,我不想静态链接,也就是说,对于vistitar希望获取url最后一部分的每个页面,使用basename函数 $url = "http://domain/fotografo/admin/gallery_bg.php"; $keys = parse_url($url); // parse the url $path =

我有我的网址:

http://domain/fotografo/admin/gallery_bg.php
我想要url的最后一部分:

 gallery_bg.php
但是,我不想静态链接,也就是说,对于vistitar希望获取url最后一部分的每个页面,使用basename函数

 $url = "http://domain/fotografo/admin/gallery_bg.php";
 $keys = parse_url($url); // parse the url
 $path = explode("/", $keys['path']); // splitting the path
 $last = end($path); // get the value of the last element 
echo basename("http://domain/fotografo/admin/gallery_bg.php");
如果是同一页:

echo $_SERVER["REQUEST_URI"];

or

echo $_SERVER["SCRIPT_NAME"];

or 

echo $_SERVER["PHP_SELF"];
在每种情况下,都会出现反斜杠(
/
gallery\u bg.php)。你可以把它修剪成

echo trim($_SERVER["REQUEST_URI"],"/");

或者将url拆分为
/
,以生成一个数组并从数组中获取最后一项

$array = explode("/",$url);

$last_item_index = count($url) - 1;

echo $array[$last_item_index];

使用下列内容

<?php
    $link = $_SERVER['PHP_SELF'];
    $link_array = explode('/',$link);
    echo $page = end($link_array);
?>

试试这个:

Here you have 2 options.

1. Using explode function.

$filename = end(explode('/', 'http://domain/fotografo/admin/gallery_bg.php'));

2. Use basename function.

$filename = basename("http://domain/fotografo/admin/gallery_bg.php");
- 谢谢

您可以使用上面建议的basename($url)函数。这将从url返回文件名。您还可以提供文件扩展名作为此函数的第二个参数,如basename($url,'.jpg'),然后提供不带扩展名的文件名

例如:

$url=”https://i0.com/images/test.jpg"
然后echo basename($url)将打印test.jpg
echo basename($url,.jpg)将打印测试

在PHP7中,公认的解决方案给了我一个错误,即在explode中只允许变量,因此这对我很有效。

请展示您的方法到目前为止您尝试了什么?这是非常有效和快速的
<?php
    $link = $_SERVER['PHP_SELF'];
    $link_array = explode('/',$link);
    echo $page = end($link_array);
?>
Here you have 2 options.

1. Using explode function.

$filename = end(explode('/', 'http://domain/fotografo/admin/gallery_bg.php'));

2. Use basename function.

$filename = basename("http://domain/fotografo/admin/gallery_bg.php");
    $basepath = implode('/', array_slice(explode('/', $_SERVER['SCRIPT_NAME']), 0, -1)) . '/';
    $uri = substr($_SERVER['REQUEST_URI'], strlen($basepath));
    if (strstr($uri, '?')) $uri = substr($uri, 0, strpos($uri, '?'));
    $url = trim($uri, '/');