2010-12-07 129 views
0

下午,PHP的index.php包含文件

我想包括外部PHP文件到我的index.php,而無需使用:的index.php P = pagetoinclude.php

我有現在這個樣子:index.php?page = home <這將包括home.php,但我已經完全忘記了如何做到這一點:

index.php/home/without「?」但使用「/」斜槓代替。

謝謝先進。 衛斯理。

回答

0

使用mod_rewrite

我要指出的是,包括通過GET參數傳遞的頁面可能是極不安全,除非你正在做正確的檢查。

+0

我知道,我已經拿出了$ _GET,但我用它作爲一個例子。我只使用預定義的變量。但我想使用mod_rewrite使它更安全一些。但我現在記得。 感謝您的幫助伴侶。 – Wesley 2010-12-07 15:56:52

0

它看起來像你試圖使用假清除網址。

在index.php上,您將獲得URL,將其拆分爲index.php /,然後根據需要解析字符串的其餘部分。

0

Apache的命名這種功能AcceptPathInfo的:

這個指令控制是否包含尾隨後面的實際文件名(或不存在的文件在現有目錄)的路徑名信息的請求將被接受或拒絕。尾部路徑名信息可用於環境變量PATH_INFO中的腳本。

例如,假設位置/test/指向僅包含單個文件here.html的目錄。然後請求/test/here.html/more/test/nothere.html/more均收集/more作爲PATH_INFO

您可以訪問環境變量與$_SERVER['PATH_INFO']

包含任何客戶端提供的路徑信息後的實際腳本文件名,但查詢字符串前,如果有的話。例如,如果當前腳本通過URL http://www.example.com/php/path_info.php/some/stuff?foo=bar訪問,則$_SERVER['PATH_INFO']將包含/some/stuff

如果你沒有一個Apache Web服務器或不能使用AcceptPathInfo,你大概可以使用其他機制來重寫這些請求到您的文件,並獲得路徑信息部分來自請求的URI莫名其妙。

+0

我會看看它,感謝隊友。 – Wesley 2010-12-07 15:59:25