URL - 获取PHP的最后一部分

Pau*_*sar 13 html php regex url

我有我的网址:

http://domain/fotografo/admin/gallery_bg.php
Run Code Online (Sandbox Code Playgroud)

我想要网址的最后一部分:

 gallery_bg.php
Run Code Online (Sandbox Code Playgroud)

但是,我不想链接静态,即,对于每个页面我想要获取url的最后一部分vistitar

小智 24

使用以下

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


jay*_*era 18

使用basename函数

echo basename("http://domain/fotografo/admin/gallery_bg.php");
Run Code Online (Sandbox Code Playgroud)


Dee*_*epu 7

 $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 
Run Code Online (Sandbox Code Playgroud)


Sal*_*lim 6

如果是同一页面:

echo $_SERVER["REQUEST_URI"];

or

echo $_SERVER["SCRIPT_NAME"];

or 

echo $_SERVER["PHP_SELF"];
Run Code Online (Sandbox Code Playgroud)

在每种情况下,/都会出现反斜杠(gallery_bg.php)。您可以将其修剪为

echo trim($_SERVER["REQUEST_URI"],"/");
Run Code Online (Sandbox Code Playgroud)

或将网址分割/成一个数组并从数组中获取最后一项

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

$last_item_index = count($url) - 1;

echo $array[$last_item_index];
Run Code Online (Sandbox Code Playgroud)

要么

echo basename($url);
Run Code Online (Sandbox Code Playgroud)


小智 5

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

例如:

$url = "https://i0.com/images/test.jpg"

then echo basename($url) will print test.jpg

and echo basename($url,".jpg") will print test
Run Code Online (Sandbox Code Playgroud)