2013-10-23 47 views
7

我有我的網址:網址 - 獲取最後一部分在PHP

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

,我想URL的最後一部分:

gallery_bg.php 

,但我不希望鏈接靜態的,即,對於vistitar我想要得到的URL的最後一部分的每個頁面

+0

請給出你的方法 –

+0

到目前爲止你已經嘗試過了嗎? –

回答

16

使用以下

<?php 
    $link = $_SERVER['PHP_SELF']; 
    $link_array = explode('/',$link); 
    echo $page = end($link_array); 
?> 
4
$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 
10

使用基名功能

echo basename("http://domain/fotografo/admin/gallery_bg.php"); 
0
$url = $_SERVER["PHP_SELF"]; 
$path = explode("/", $url); 
$last = end($path); 
4

如果是同一頁:

echo $_SERVER["REQUEST_URI"]; 

or 

echo $_SERVER["SCRIPT_NAME"]; 

or 

echo $_SERVER["PHP_SELF"]; 

在每種情況下反斜槓(/ gallery_bg.php)將出現。您可以修剪它作爲

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

/分裂的網址,一個數組,並從陣列得到最後一個項目

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

$last_item_index = count($url) - 1; 

echo $array[$last_item_index]; 

echo basename($url); 
1

試試這個:

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

- 感謝

0

可以使用基名($網址)功能如上建議。這會從url中返回文件名稱。您還可以將文件擴展名作爲第二個參數提供給此函數,例如basename($ url,'.jpg'),然後將提供沒有擴展名的文件名。

如:

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

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

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

0
$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接受的解決方案是給我的,只有變量允許在爆炸所以這對我的作品的錯誤。