URL – Obtener la última parte en PHP

Tengo mi url

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

y quiero la última parte de la url:

  gallery_bg.php 

pero, no quiero enlazar estática, es decir, para cada página que me gustaría visitar la última parte de la URL.

uso siguiente

  

Usar la función de nombre base

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

Si es la misma página:

 echo $_SERVER["REQUEST_URI"]; or echo $_SERVER["SCRIPT_NAME"]; or echo $_SERVER["PHP_SELF"]; 

En cada caso, aparecerá una barra inclinada ( / gallery_bg.php). Puedes recortarlo como

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

o divide la url por / para hacer una matriz y obtener el último elemento de la matriz

 $array = explode("/",$url); $last_item_index = count($url) - 1; echo $array[$last_item_index]; 

o

 echo basename($url); 

Prueba esto:

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

– Gracias

puede usar la función basename ($ url) como se sugirió anteriormente. Esto devuelve el nombre del archivo de la url. También puede proporcionar la extensión de archivo como segundo argumento para esta función como nombre base ($ url, ‘.jpg’), luego se servirá el nombre de archivo sin la extensión.

P.ej:

 $url = "http://sofes.miximages.com/php/test.jpg" then echo basename($url) will print test.jpg and echo basename($url,".jpg") will print test 
 $url = $_SERVER["PHP_SELF"]; $path = explode("/", $url); $last = end($path); 
  $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, '/'); 

En PHP 7, la solución aceptada me está dando el error de que solo se permiten las variables para explotar, por lo que esto funciona para mí.