私は私のURLを持っています:
http://domain/fotografo/admin/gallery_bg.php
そして私はURLの最後の部分が欲しい:
gallery_bg.php
しかし、静的にリンクしたくありません。つまり、vistitarのページごとに、URLの最後の部分を取得します。
以下を使用
<?php
$link = $_SERVER['PHP_SELF'];
$link_array = explode('/',$link);
echo $page = end($link_array);
?>
Basename関数を使用する
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
同じページの場合:
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);
上記のように、basename($ url)関数を使用できます。これは、URLからファイル名を返します。また、basename($ url、 '.jpg')のように、この関数の2番目の引数としてファイル拡張子を指定すると、拡張子のないファイル名が提供されます。
例えば:
$url = "https://i0.com/images/test.jpg"
then echo basename($url) will print test.jpg
and echo basename($url,".jpg") will print test
これを試して:
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");
-ありがとう
$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では、受け入れられた解決策は、変数のみが分解で許可されているため、これが私にとってはうまくいくというエラーを私に与えています。
$url = $_SERVER["PHP_SELF"];
$path = explode("/", $url);
$last = end($path);