php中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之間的區(qū)別
更新時(shí)間:2009年09月05日 01:49:08 作者:
php中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之間的區(qū)別
“PHP_SELF”
當(dāng)前正在執(zhí)行腳本的文件名,與 document root 相關(guān)。舉例來(lái)說(shuō),在 URL 地址為 http://chabaoo.cn/test.php/foo.bar 的腳本中使用 $_SERVER['PHP_SELF'] 將會(huì)得到 /test.php/foo.bar 這個(gè)結(jié)果。__FILE__ 常量包含當(dāng)前(例如包含)文件的絕對(duì)路徑和文件名。
“SCRIPT_NAME”
包含當(dāng)前腳本的路徑。這在頁(yè)面需要指向自己時(shí)非常有用。__FILE__ 包含當(dāng)前文件的絕對(duì)路徑和文件名(例如包含文件)。
主要的原因如像:$_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];
找到更好的原因是:
今天在Dreamhost上安裝一套PHP程序時(shí)發(fā)現(xiàn)連接的地址都會(huì)多出一個(gè)cgi-system來(lái),但是程序的config並沒(méi)有問(wèn)題,查了查資料才發(fā)現(xiàn)是SCRIPT_NAME和PHP_SELF不同造成的問(wèn)題。
通常在本機(jī)測(cè)試 $_SERVER['SCRIPT_NAME'] 跟 $_SERVER['PHP_SELF'] 大概看不出有什麼不同,因?yàn)榇蟛糠值腜HP不是以CGI模式運(yùn)行的。
但 DreamHost 上的 PHP 是以 CGI 方式運(yùn)行,二者就有明顯不同的差異。
echo $_SERVER['SCRIPT_NAME']; // (/cgi-system/php.cgi)
echo $_SERVER['PHP_SELF']; // (/admin/test.php)
從http://lists.nyphp.org/pipermail/talk/2005-July/015339.html 發(fā)現(xiàn)了一個(gè)說(shuō)明。老外說(shuō)的。
SCRIPT_NAME solves all the problems mentioned
in this thread - it's just the script name, without any extra garbage
that might be tacked on by the user. PHP_SELF explicitly includes that
extra garbage, so solutions in this thread that involve stripping the
garbage off of PHP_SELF to make it safe are really, really missing the
point - just use SCRIPT_NAME instead. Please don't use FORM ACTION=”";
according to the spec, what the browser does with that is undefined, so
even if it works in current browsers, it might not work in future ones
當(dāng)前正在執(zhí)行腳本的文件名,與 document root 相關(guān)。舉例來(lái)說(shuō),在 URL 地址為 http://chabaoo.cn/test.php/foo.bar 的腳本中使用 $_SERVER['PHP_SELF'] 將會(huì)得到 /test.php/foo.bar 這個(gè)結(jié)果。__FILE__ 常量包含當(dāng)前(例如包含)文件的絕對(duì)路徑和文件名。
“SCRIPT_NAME”
包含當(dāng)前腳本的路徑。這在頁(yè)面需要指向自己時(shí)非常有用。__FILE__ 包含當(dāng)前文件的絕對(duì)路徑和文件名(例如包含文件)。
主要的原因如像:$_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];
找到更好的原因是:
今天在Dreamhost上安裝一套PHP程序時(shí)發(fā)現(xiàn)連接的地址都會(huì)多出一個(gè)cgi-system來(lái),但是程序的config並沒(méi)有問(wèn)題,查了查資料才發(fā)現(xiàn)是SCRIPT_NAME和PHP_SELF不同造成的問(wèn)題。
通常在本機(jī)測(cè)試 $_SERVER['SCRIPT_NAME'] 跟 $_SERVER['PHP_SELF'] 大概看不出有什麼不同,因?yàn)榇蟛糠值腜HP不是以CGI模式運(yùn)行的。
但 DreamHost 上的 PHP 是以 CGI 方式運(yùn)行,二者就有明顯不同的差異。
echo $_SERVER['SCRIPT_NAME']; // (/cgi-system/php.cgi)
echo $_SERVER['PHP_SELF']; // (/admin/test.php)
從http://lists.nyphp.org/pipermail/talk/2005-July/015339.html 發(fā)現(xiàn)了一個(gè)說(shuō)明。老外說(shuō)的。
SCRIPT_NAME solves all the problems mentioned
in this thread - it's just the script name, without any extra garbage
that might be tacked on by the user. PHP_SELF explicitly includes that
extra garbage, so solutions in this thread that involve stripping the
garbage off of PHP_SELF to make it safe are really, really missing the
point - just use SCRIPT_NAME instead. Please don't use FORM ACTION=”";
according to the spec, what the browser does with that is undefined, so
even if it works in current browsers, it might not work in future ones
您可能感興趣的文章:
- PHP中$_SERVER的詳細(xì)參數(shù)與說(shuō)明
- PHP $_SERVER詳解
- php $_SERVER當(dāng)前完整url的寫法
- php $_SERVER["REQUEST_URI"]獲取值的通用解決方法
- PHP5下$_SERVER變量不再受magic_quotes_gpc保護(hù)的彌補(bǔ)方法
- 從PHP $_SERVER相關(guān)參數(shù)判斷是否支持Rewrite模塊
- PHP中$_SERVER的詳細(xì)參數(shù)與說(shuō)明介紹
- php $_SERVER windows系統(tǒng)與linux系統(tǒng)下的區(qū)別說(shuō)明
- php幾個(gè)預(yù)定義變量$_SERVER用法小結(jié)
- php中time()與$_SERVER[REQUEST_TIME]用法區(qū)別
- PHP中$_SERVER使用說(shuō)明
相關(guān)文章
php 來(lái)訪國(guó)內(nèi)外IP判斷代碼并實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)
最近做了公司網(wǎng)站的一個(gè)需求:按來(lái)訪人的IP來(lái)判斷他是進(jìn)中文網(wǎng)站還是英文網(wǎng)站。2009-12-12php使用Jpgraph創(chuàng)建柱狀圖展示年度收支表效果示例
這篇文章主要介紹了php使用Jpgraph創(chuàng)建柱狀圖展示年度收支表效果,結(jié)合完整實(shí)例形式分析了Jpgraph創(chuàng)建柱狀圖的具體步驟與操作技巧,需要的朋友可以參考下2017-02-02php數(shù)組中刪除元素的實(shí)現(xiàn)代碼
之前如果要在某個(gè)數(shù)組中刪除一個(gè)元素,我是直接用的unset,也不管unset之后會(huì)發(fā)生什么。但今天看到的東西卻讓我大吃一驚2012-06-06PHP+JavaScript實(shí)現(xiàn)無(wú)刷新上傳圖片
本文主要介紹了PHP+JavaScript實(shí)現(xiàn)無(wú)刷新上傳圖片的方法,具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-02-02php使用Image Magick將PDF文件轉(zhuǎn)換為JPG文件的方法
這篇文章主要介紹了php使用Image Magick將PDF文件轉(zhuǎn)換為JPG文件的方法,涉及php使用Image Magick擴(kuò)展操作圖片的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-04-04php的命名空間與自動(dòng)加載實(shí)現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于php的命名空間與自動(dòng)加載實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用php具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08PHP __autoload函數(shù)(自動(dòng)載入類文件)的使用方法
在使用PHP的OO模式開(kāi)發(fā)系統(tǒng)時(shí),通常大家習(xí)慣上將每個(gè)類的實(shí)現(xiàn)都存放在一個(gè)單獨(dú)的文件里,這樣會(huì)很容易實(shí)現(xiàn)對(duì)類進(jìn)行復(fù)用,同時(shí)將來(lái)維護(hù)時(shí)也很便利2012-02-02