URL - 获取 PHP 的最后一部分

Posted

技术标签:

【中文标题】URL - 获取 PHP 的最后一部分【英文标题】:URL - Get last part in PHP 【发布时间】:2013-11-01 16:38:36 【问题描述】:

我有我的网址:

http://domain/fotografo/admin/gallery_bg.php

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

 gallery_bg.php

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

【问题讨论】:

请展示你的方法 到目前为止你尝试了什么? 【参考方案1】:

使用关注

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

【讨论】:

【参考方案2】:

使用basename函数

echo basename("http://domain/fotografo/admin/gallery_bg.php");

【讨论】:

这个非常高效快速【参考方案3】:

如果是同一页:

echo $_SERVER["REQUEST_URI"];

or

echo $_SERVER["SCRIPT_NAME"];

or 

echo $_SERVER["PHP_SELF"];

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

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

或者用/拆分url来做一个数组,从数组中获取最后一项

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

$last_item_index = count($url) - 1;

echo $array[$last_item_index];

echo basename($url);

【讨论】:

【参考方案4】:
 $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 

【讨论】:

【参考方案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

【讨论】:

【参考方案6】:
$url  = $_SERVER["PHP_SELF"];
$path = explode("/", $url); 
$last = end($path);

【讨论】:

【参考方案7】:

试试这个:

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");

- 谢谢

【讨论】:

【参考方案8】:
    $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 中,公认的解决方案给了我一个错误,即在爆炸中只允许使用变量,所以这对我有用。

【讨论】:

以上是关于URL - 获取 PHP 的最后一部分的主要内容,如果未能解决你的问题,请参考以下文章

使用 Blade 在 Laravel 5 中获取当前 URL 的最后一部分

php如何截取url中的一部分

php 获取URL 各部分参数

100分求PHP获取图中链接URL中的ID数字值。

如何使用Cmake字符串正则表达式替换从路径url的多个实例中获取路径url的最后一部分并用它替换整个路径

如何在 PHP 中获取完整的 URL,而不仅仅是其中的一部分? [复制]