我有我的网址:
http://domain/fotografo/admin/gallery_bg.php
我想要网址的最后一部分:
gallery_bg.php
但是,我不想链接静态,即,对于我想要获取url的最后一部分的vistitar的每个页面
答案 0 :(得分:21)
使用以下
<?php
$link = $_SERVER['PHP_SELF'];
$link_array = explode('/',$link);
echo $page = end($link_array);
?>
答案 1 :(得分:15)
使用basename功能
echo basename("http://domain/fotografo/admin/gallery_bg.php");
答案 2 :(得分: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
答案 3 :(得分:6)
如果是同一页面:
echo $_SERVER["REQUEST_URI"];
or
echo $_SERVER["SCRIPT_NAME"];
or
echo $_SERVER["PHP_SELF"];
在每种情况下都会出现反斜杠(/
gallery_bg.php)。您可以将其修剪为
echo trim($_SERVER["REQUEST_URI"],"/");
或将网址拆分为/
以生成数组,并从数组中获取最后一项
$array = explode("/",$url);
$last_item_index = count($url) - 1;
echo $array[$last_item_index];
或
echo basename($url);
答案 4 :(得分:1)
试试这个:
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");
- 谢谢
答案 5 :(得分:1)
您可以使用上面建议的basename($ url)函数。这将从URL返回文件名。您还可以将文件扩展名作为此函数的第二个参数提供,例如basename($ url,&#39; .jpg&#39;),然后将提供没有扩展名的文件名。
例如:
$url = "https://i0.com/images/test.jpg"
then echo basename($url) will print test.jpg
and echo basename($url,".jpg") will print test
&#13;
答案 6 :(得分:0)
$url = $_SERVER["PHP_SELF"];
$path = explode("/", $url);
$last = end($path);
答案 7 :(得分:0)
$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, '/');
在PHP 7中,接受的解决方案是给我一个错误,即只有变量才允许爆炸,所以这对我有用。