it-swarm.com.ru

URL - Получить последнюю часть в PHP

У меня есть мой URL: 

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

и я хочу последнюю часть URL:

 gallery_bg.php

но я не хочу связывать статические, т. е. для каждой страницы, на которой я хочу получить последнюю часть URL

9
Paulo César

использовать следующее

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

Используйте функцию basename 

echo basename("http://domain/fotografo/admin/gallery_bg.php");
14
jaydeep namera
 $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 
7
웃웃웃웃웃

Если это та же страница:

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
Salim

Попробуй это:

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

-Спасибо 

1
Anand Solanki

вы можете использовать функцию 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

1
Arvind Kala
    $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 принятое решение дает мне ошибку, что в разнесении допускаются только переменные, поэтому это работает для меня.

0
niravpatel9898
$url  = $_SERVER["PHP_SELF"];
$path = explode("/", $url); 
$last = end($path);
0
Nil'z