php中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之間的區(qū)別
當(dāng)前正在執(zhí)行腳本的文件名,與 document root 相關(guān)。舉例來(lái)說(shuō),在 URL 地址為 http://www.dbjr.com.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的寫(xiě)法
- 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)訪(fǎng)國(guó)內(nèi)外IP判斷代碼并實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)
最近做了公司網(wǎng)站的一個(gè)需求:按來(lái)訪(fǎng)人的IP來(lái)判斷他是進(jìn)中文網(wǎng)站還是英文網(wǎng)站。2009-12-12
php使用Jpgraph創(chuàng)建柱狀圖展示年度收支表效果示例
這篇文章主要介紹了php使用Jpgraph創(chuàng)建柱狀圖展示年度收支表效果,結(jié)合完整實(shí)例形式分析了Jpgraph創(chuàng)建柱狀圖的具體步驟與操作技巧,需要的朋友可以參考下2017-02-02
php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程
這篇文章主要介紹了php面向?qū)ο蟪绦蛟O(shè)計(jì),結(jié)合實(shí)例形式分析了PHP面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念、原理以及類(lèi)的定義、對(duì)象實(shí)例化、構(gòu)造方法等簡(jiǎn)單使用技巧,需要的朋友可以參考下2019-06-06
php數(shù)組中刪除元素的實(shí)現(xiàn)代碼
之前如果要在某個(gè)數(shù)組中刪除一個(gè)元素,我是直接用的unset,也不管unset之后會(huì)發(fā)生什么。但今天看到的東西卻讓我大吃一驚2012-06-06
PHP+JavaScript實(shí)現(xiàn)無(wú)刷新上傳圖片
本文主要介紹了PHP+JavaScript實(shí)現(xiàn)無(wú)刷新上傳圖片的方法,具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-02-02
php使用Image Magick將PDF文件轉(zhuǎn)換為JPG文件的方法
這篇文章主要介紹了php使用Image Magick將PDF文件轉(zhuǎn)換為JPG文件的方法,涉及php使用Image Magick擴(kuò)展操作圖片的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-04-04
php的命名空間與自動(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-08
PHP __autoload函數(shù)(自動(dòng)載入類(lèi)文件)的使用方法
在使用PHP的OO模式開(kāi)發(fā)系統(tǒng)時(shí),通常大家習(xí)慣上將每個(gè)類(lèi)的實(shí)現(xiàn)都存放在一個(gè)單獨(dú)的文件里,這樣會(huì)很容易實(shí)現(xiàn)對(duì)類(lèi)進(jìn)行復(fù)用,同時(shí)將來(lái)維護(hù)時(shí)也很便利2012-02-02

