paulo cesar
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ático, es decir, por cada página que visito quiero sacar la última parte de la url
w3b
usar lo siguiente
<?php
$link = $_SERVER['PHP_SELF'];
$link_array = explode("https://stackoverflow.com/",$link);
echo $page = end($link_array);
?>
-
No funcionó porque mi enlace terminó con un / ejemplo: https/mysite.com/products/my-name/ ¡Probé la solución de @jaydeep aquí con “nombre base” es más rápido y funciona perfectamente!
– maiakd
14 de diciembre de 2022 a las 9:15
Usar la función de nombre base
echo basename("http://domain/fotografo/admin/gallery_bg.php");
-
esto es muy eficiente y rapido
– Farhang
29/09/2018 a las 19:35
-
@farhang depende de lo que quieras que haga. Para mí $_SERVER[“REQUEST_URI”] era lo que necesitaba…..
– Tánasis
13 de junio de 2022 a las 9:51
-
Trabajó para mí como el respuesta validada no lo hice porque mi enlace terminó con un / mientras que necesitaba el último elemento, ya sea que haya uno o no. Gracias !
– maiakd
14 de diciembre de 2022 a las 9:17
MD SHAHIDUL ISLAM
Si es la misma página:
echo $_SERVER["REQUEST_URI"];
or
echo $_SERVER["SCRIPT_NAME"];
or
echo $_SERVER["PHP_SELF"];
En cada caso, una barra invertida (/
galería_bg.php) aparecerá. Puedes recortarlo como
echo trim($_SERVER["REQUEST_URI"],"https://stackoverflow.com/");
o dividir la url por /
para hacer una matriz y obtener el último elemento de la matriz
$array = explode("https://stackoverflow.com/",$url);
$last_item_index = count($url) - 1;
echo $array[$last_item_index];
o
echo basename($url);
-
Si escribe URI como “https//server/myscript y se redirige con .htaccess a digamos https//server/some.php, lo único que funcionará y le dará “myscript” es $_SERVER[“REQUEST_URI”]las otras sugerencias devolverán “some.php”
– Tánasis
13 de junio de 2022 a las 9:50
$url = "http://domain/fotografo/admin/gallery_bg.php";
$keys = parse_url($url); // parse the url
$path = explode("https://stackoverflow.com/", $keys['path']); // splitting the path
$last = end($path); // get the value of the last element
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 del archivo como segundo argumento para esta función, como basename ($ url, ‘.jpg’), luego se servirá el nombre del archivo sin la extensión.
P.ej:
$url = "https://i0.com/images/test.jpg"
then echo basename($url) will print test.jpg
and echo basename($url,".jpg") will print test
cero
$url = $_SERVER["PHP_SELF"];
$path = explode("https://stackoverflow.com/", $url);
$last = end($path);
Anand Solanki
Prueba esto:
Here you have 2 options.
1. Using explode function.
$filename = end(explode("https://stackoverflow.com/", 'http://domain/fotografo/admin/gallery_bg.php'));
2. Use basename function.
$filename = basename("http://domain/fotografo/admin/gallery_bg.php");
– Gracias