URL – Holen Sie sich den letzten Teil in PHP

Lesezeit: 2 Minuten

Benutzeravatar von Paulo César
Paulo Cesar

Ich habe meine URL:

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

und ich möchte den letzten Teil der URL:

 gallery_bg.php

aber ich möchte nicht statisch verlinken, dh für jede Seite, die besucht wird, möchte ich den letzten Teil der URL erhalten

Benutzeravatar von w3b
w3b

folgendes verwenden

<?php
    $link = $_SERVER['PHP_SELF'];
    $link_array = explode("https://stackoverflow.com/",$link);
    echo $page = end($link_array);
?>

  • Hat nicht funktioniert, weil mein Link mit einem / -Beispiel endete: https/mysite.com/products/mein-name/ Ich habe die Lösung von @jaydeep hier mit “basename” ausprobiert, es ist schneller und funktioniert perfekt!

    – maiakd

    14. Dezember 2022 um 9:15 Uhr

Verwenden Sie die basename-Funktion

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

  • das ist sehr effizient und schnell

    – farhang

    29. September 2018 um 19:35 Uhr

  • @farhang es kommt darauf an, was du willst. Für mich $_SERVER[“REQUEST_URI”] war was ich brauchte…..

    – Thanasis

    13. Juni 2022 um 9:51 Uhr

  • Arbeitete für mich als die validierte Antwort nicht, weil mein Link mit a endete / während ich das letzte Element brauchte, ob es eines gibt oder nicht. Danke !

    – maiakd

    14. Dezember 2022 um 9:17 Uhr

Benutzeravatar von MD SHAHIDUL ISLAM
MD SHAHIDUL ISLAM

Wenn es dieselbe Seite ist:

echo $_SERVER["REQUEST_URI"];

or

echo $_SERVER["SCRIPT_NAME"];

or 

echo $_SERVER["PHP_SELF"];

Jeweils ein Backslash (/gallery_bg.php) erscheint. Sie können es als trimmen

echo trim($_SERVER["REQUEST_URI"],"https://stackoverflow.com/");

oder teilen Sie die URL nach auf / um ein Array zu erstellen und das letzte Element aus dem Array zu erhalten

$array = explode("https://stackoverflow.com/",$url);

$last_item_index = count($url) - 1;

echo $array[$last_item_index];

oder

echo basename($url);

  • Wenn Sie den URI als „https//server/myscript“ schreiben und er mit .htaccess umgeleitet wird, sagen wir zu https//server/some.php, funktioniert nur der $_SERVER, der Ihnen „myscript“ gibt[“REQUEST_URI”]die anderen Vorschläge geben “some.php” zurück

    – Thanasis

    13. Juni 2022 um 9:50 Uhr

 $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 

Sie können die Funktion basename($url) wie oben vorgeschlagen verwenden. Dies gibt den Dateinamen aus der URL zurück. Sie können dieser Funktion auch die Dateierweiterung als zweites Argument wie basename($url, ‘.jpg’) übergeben, dann wird der Dateiname ohne die Erweiterung bereitgestellt.

Z.B:

$url = "https://i0.com/images/test.jpg"

then echo basename($url) will print test.jpg

and echo basename($url,".jpg") will print test

Benutzeravatar von Nil'z
Nil’z

$url  = $_SERVER["PHP_SELF"];
$path = explode("https://stackoverflow.com/", $url); 
$last = end($path);

Benutzeravatar von Anand Solanki
Anand Solanki

Versuche dies:

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

– Danke

1444450cookie-checkURL – Holen Sie sich den letzten Teil in PHP

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy