$_SERVER[’PHP_SELF’]
- http://www.yoursite.com/example/ -- -- -- /example/index.php
- http://www.yoursite.com/example/index.php -- -- -- /example/index.php
- http://www.yoursite.com/example/index.php?a=test -- -- -- /example/index.php
- http://www.yoursite.com/example/index.php/dir/test -- -- -- /dir/test
When we use $_SERVER[’PHP_SELF’] we have the file name /example/index.php returned to us both when we did and did not actully type it in the URL. When we appended variables to the end of it, they where truncated and again /example/index.php was returned. The only one that produced a different result was when we appended directories after the file name. In that case, it returned those directories.
$_SERVER['REQUEST_URI']
- http://www.yoursite.com/example/ -- -- -- /
- http://www.yoursite.com/example/index.php -- -- -- /example/index.php
- http://www.yoursite.com/example/index.php?a=test -- -- -- /example/index.php?a=test
- http://www.yoursite.com/example/index.php/dir/test -- -- -- /example/index.php/dir/test
In all of our examples, this returned exactly what we entered for the URL. It returned a plain /, the file name, the variables, and the appended directories, all just as they had been entered.
$_SERVER[’SCRIPT_NAME’]
- http://www.yoursite.com/example/ -- -- -- /example/index.php
- http://www.yoursite.com/example/index.php -- -- -- /example/index.php
- http://www.yoursite.com/example/index.php?a=test -- -- -- /example/index.php
- http://www.yoursite.com/example/index.php/dir/test -- -- -- /example/index.php
In all cases here we were returned only the file name /example/index.php regardless of if it was typed, not typed, or anything was appended to it.
本文详细对比了PHP中$_SERVER['PHP_SELF']、$_SERVER['REQUEST_URI']与$_SERVER['SCRIPT_NAME']三个变量的区别及应用场景。通过实例展示了这些变量如何响应不同URL结构的变化。
3336

被折叠的 条评论
为什么被折叠?



