2016-07-29 63 views
0

我正在構建一個小型的安寧api,我問是否有可能將url分離爲php文件和url結尾。PHP:Url作爲參數

E.g. www.mydomain.com/api/parameter/1/2/

在這種情況下,php文件是www.mydomain.com/api/www.mydomain.com/api/index.phpparameter/1/2/是參數。

我想要一個CRUD接口,以便不帶參數的GET獲取所有數據的列表。爲了達到這個目的,我需要檢查一個參數是否被附加並提取參數。

其他例子

www.mydomain.com/topics/ =>得到所有主題

www.mydomain.com/topics/1/posts/ =>得到1個主題的所有帖子,

www.mydomain.com/topics/1/posts/2/ =>得到發佈主題的2 1

我的問題是:這是可能的和如何?

+0

然後試試吧!在你的問題中沒有一個問號...... – JustOnUnderMillions

+0

你的意思是'/ api/parameter/1/2' - >'somescript.php?parameter = 1&parameter = 2'? –

+0

您是否遇到'.htaccess'問題或者在PHP中過濾'GET'有什麼問題?你編碼了什麼? – JustOnUnderMillions

回答

1

您可能需要使用$_SERVER['request_uri']從URL末尾讀取請求URI。這將返回/api/parameter/1/2。如果長度可靠,則可以對其進行子串處理,或者使用帶有preg_match的正則表達式來獲取參數部分。例如

preg_match("parameter\/.*", $_SERVER['request_uri'], $matches) 

將返回或者如果沒有匹配

但在$字符串匹配parameter/1/2變量,或false耶喜歡別人都這麼說,你可能會更好,如果你可以使用GET參數,只需使用isset()進行檢查,看看是否有任何參數。

+0

這種方式非常靜態。你不能改變後端的結構。但我擔心這是唯一的解決方案。 –