PHP中提供了一個可以訪問當前執行腳本的文件名的超級全局變量$_SERVER,而$_SERVER['PHP_SELF']就是其中的一個屬性,它返回當前執行腳本的文件名。在很多情況下我們都需要使用到它,比如在HTML表單中使用,或者用來作為關于頁面的鏈接等。
我們來看一個示例,在一個名為index.php的頁面中,我們可以通過$_SERVER['PHP_SELF']來獲取當前執行腳本的文件名:
<?php echo $_SERVER['PHP_SELF']; ?>當我們在瀏覽器中訪問index.php時,這段代碼輸出的結果將會是/index.php。注意到這個輸出包含了斜杠(/),這是由于PHP_SELF會返回當前文件的相對路徑,而在這個例子中index.php位于網站的根目錄下,所以輸出的結果是以斜杠開頭的。 另一個例子,假設我們有一個搜索表單,它的action屬性值指向當前頁面,這意味著提交表單時將會重新加載當前頁面。為了避免重新加載頁面后表單數據被清空,我們可以在表單中使用$_SERVER['PHP_SELF']作為action屬性值。
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get"> <label>搜索:</label> <input type="text" name="search"> <input type="submit" value="提交"> </form>此時當我們在頁面中輸入搜索詞并提交表單時,頁面將不會重新加載,而是將搜索詞作為查詢參數附加在當前URL后面,并通過GET方式提交到同一頁面中。 還有一個使用$_SERVER['PHP_SELF']的常見場景是用它作為一個鏈接的href屬性值,這可以生成一個跳轉鏈接到當前頁面的不同部分。
<a href="<?php echo $_SERVER['PHP_SELF']; ?>#section1">跳轉到第一部分</a>在這個例子中,當我們點擊鏈接時,頁面將會滾動到頁面中id為section1的元素位置。 需要注意的是,雖然$_SERVER['PHP_SELF']可以返回當前執行腳本的文件名,但不一定總是可靠的。因為它是從瀏覽器中提交的數據中提取出來的,所以它可能會受到一些安全問題的影響,例如跨站腳本攻擊(XSS)。在使用它時應該謹慎使用,并考慮到這些安全問題,以確保網站的安全性。
上一篇ajax 加密傳輸到后端
下一篇php cotart