web-dev-qa-db-fra.com

URL - Obtenir la dernière partie de PHP

J'ai mon URL: 

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

et je veux la dernière partie de l'URL:

 gallery_bg.php

mais, je ne veux pas créer de lien statique, c'est-à-dire que pour chaque page visitée, je souhaite obtenir la dernière partie de l'URL.

9
Paulo César

utiliser ensuite

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

Utiliser la fonction de base 

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
웃웃웃웃웃

Si c'est la même page:

echo $_SERVER["REQUEST_URI"];

or

echo $_SERVER["SCRIPT_NAME"];

or 

echo $_SERVER["PHP_SELF"];

Dans chaque cas, une barre oblique inverse (/gallery_bg.php) apparaîtra. Vous pouvez le couper comme

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

ou diviser l'URL par / pour créer un tableau et obtenir le dernier élément du tableau

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

$last_item_index = count($url) - 1;

echo $array[$last_item_index];

ou 

echo basename($url);
4
Salim

Essaye ça:

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

-Merci 

1
Anand Solanki

vous pouvez utiliser la fonction basename ($ url) comme suggéré ci-dessus. Cela renvoie le nom du fichier à partir de l'URL. Vous pouvez également fournir l'extension de fichier comme second argument à cette fonction, comme nom de base ($ url, '.jpg'), le nom de fichier sans l'extension sera alors servi.

Par exemple: 

$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, '/');

Dans PHP 7, la solution acceptée me donne l’erreur que seules les variables sont autorisées à exploser, donc cela fonctionne pour moi.

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