<?php
/**__file__ ,
getcwd(),
$_server["request_uri"],
$_server["script_name"],
$_server["php_self"],
$_server["script_filename"],
來觀察一下這些變數或函式的異同.
假設有乙個請求位址為: http://localhost:8080/test.php/age=20
而test.php 的完整路徑是: d:/server/www/example/test.php
1) getcwd()
將得到瀏覽器請求的頁面檔案所在的目錄. 即test.php 檔案所在的目錄: d:/server/www/example/ ,
如果在test.php 執行了 require 或 include 語句, 比如 inculde("test_dir/test2.php"),
那麼在 test2.php 裡 getcwd()函式 返回的也將是 test.php 所在的目錄.
2) __file__
乙個魔術變數, 用它將得到 __file__ 變數所在檔案的完整路徑,
比如: test.php 裡 __file__ 將得到 d:/server/www/example/test.php ,
test_dir/test2.php 裡的 __file__ 將得到 d:/server/www/example/test_dir/test2.php
3) $_server["script_filename"]
將得到瀏覽器請求的頁面檔案的完整路徑.
test.php 和 test_dir/test2.php 裡用 $_server["script_name"] 都將得到 d:/server/www/example/test.php.
4) $_server["script_name"]
將得到瀏覽器請求的頁面檔案的檔名,注意: 與 $_server["script_name"] 不同, 此變數只得到檔名而不包含路徑,
在test.php 與 test_dir/test2.php 用$_server["script_name"] 得到的都將是 test.php.
當然, 在test.php 與 test_dir/test2.php 執行 basename($_server["script_filename"]) 與 $_server["script_name"] 相同.
執行 在test.php 與 test_dir/test2.php 執行 realpath("test.php") 得到的結果與 $_server["script_filename"] 相同.
5) $_server["php_self"]
將得到瀏覽器請求頁面的檔名, 並剝掉問號 ? 後的內容, 注意:不包含路徑,
比如在客戶端裡請求 http://localhost:8080/test.php?age=20&name=tom,
那麼test.php 和 test_dir/test2.php 的 $_server["php_self"] 都將得到 "test.php"。"age=20&name=tom"被剝掉。
而如果客戶端裡請求 http://localhost:8080/test.php/age=20&name=tom,
那麼test.php 和 test_dir/test2.php 的 $_server["php_self"] 都將得到 "test.php/age=20&name=tom"。
6) $_server["request_uri"]
將得到瀏覽器請求頁面的檔名, 以及檔名之後的所有內容(注意: 井號 # 之後的內容將被略去),
比如在客戶端裡請求 http://localhost:8080/test.php?age=20&name=tom,
那麼test.php 和 test_dir/test2.php 的 $_server["reuest_uri"] 都將得到 "test.php"。"age=20&name=tom"被剝掉。
而如果客戶端裡請求 http://localhost:8080/test.php/age=20&name=tom,
那麼test.php 和 test_dir/test2.php 的 $_server["request_uri"] 都將得到 "test.php/age=20&name=tom"。
*/// test.php:
echo "test1.php variables
"; variables
echo "getcwd: ", getcwd(), "
"; //getcwd: e:\wamp\www\test
echo "__file__: ", __file__, "
"; //__file__: e:\wamp\www\test\test.php
echo "dirname: ", dirname(__file__), "
"; //dirname: e:\wamp\www\test
echo "request_uri: ", $_server["request_uri"], "
"; //request_uri: /test/test.php
echo "script_name: ", $_server["script_name"], "
"; //script_name: /test/test.php
echo "php_self: ", $_server["php_self"], "
"; //php_self: /test/test.php
echo "script_filename:", $_server["script_filename"] , "
"; //script_filename: e:/wamp/www/test/test.php
echo "document_root: ", $_server['document_root'], "
"; //document_root: e:/wamp/www/
// 把 test2.php 包含進來, 在 test2.php 裡輸出上面的變數,看有什麼不同:
include_once("test2/test2.php");
?>
PHP獲取當前url的函式
php獲取當前url的函式 則顯示 http localhost lu.php 伺服器變數 server 注 在 php 4.1.0 及以後版本使用。之前的版本,使用 http server vars。server 是乙個包含諸如頭部 headers 路徑 paths 和指令碼位置 script l...
PHP獲取當前url的函式
預定義變數 server 附 獲取當前url位址例子 則顯示 http localhost lu.php 伺服器變數 server 注 在 php 4.1.0 及以後版本使用。之前的版本,使用 http server vars。server 是乙個包含諸如頭部 headers 路徑 paths 和指...
js獲取當前url路徑
獲取當前視窗的url var url window.location.href 結果 http localhost 61768 home index?id 2 age 18 獲取當前視窗的主機名 var host window.location.host 結果 localhost 61768 獲取當...