亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php中$_SERVER['SCRIPT_NAME']與$_SERVER['SCRIPT_FILENAME']有什么不同

發布時間:2021-11-16 16:02:28 來源:億速云 閱讀:202 作者:iii 欄目:大數據

這篇文章主要講解了“php中$_SERVER['SCRIPT_NAME']與$_SERVER['SCRIPT_FILENAME']有什么不同”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“php中$_SERVER['SCRIPT_NAME']與$_SERVER['SCRIPT_FILENAME']有什么不同”吧!

$_SERVER['SCRIPT_NAME']、$_SERVER['SCRIPT_FILENAME']及__FILE__不同

在PHP中,有時需要知道腳本所處的位置,這時會用到$_SERVER['SCRIPT_NAME']、$_SERVER['SCRIPT_FILENAME']及__FILE__。那么他們之間有什么不同呢?

1、$_SERVER['SCRIPT_NAME']
先說 $_SERVER['SCRIPT_NAME'] ,它是包含當前運行腳本的路徑,這是從客戶端來看的路徑。假如你訪問的URL地址為 http://www.yourdomain.com/test/test.php,那么在腳本中 $_SERVER['SCRIPT_NAME'] 將會是 /test/test.php 。如果你想引用腳本自身,例如把一個表單提交給自己處理時,這可以用這個。
<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="get">

2、$_SERVER['SCRIPT_FILENAME']
$_SERVER['SCRIPT_FILENAME'] 也是包含當前運行腳本的路徑,與 $_SERVER['SCRIPT_NAME'] 不同的是,這是服務器端的絕對路徑。假如你訪問的URL地址為 http://www.yourdomain.com/test/test.php,那么在腳本中 $_SERVER['SCRIPT_FILENAME'] 可能會是 /home/a88888888/public_html/test/test.php (前一部分路徑因服務器而異)。說得通俗一點,這就是服務器硬盤上的路徑。

3、__FILE__
__FILE__是包含腳本文件本身的絕對路徑。它與$_SERVER['SCRIPT_FILENAME']有點不同,下面看一個實例。假設a.php包含了b.php。

test/a.php:
<?php include("b.php"); ?>

那 么在b.php中,$_SERVER['SCRIPT_FILENAME']可能會是 /home/a88888888/public_html /test/a.php。雖然$_SERVER['SCRIPT_FILENAME']是在b.php內,但b.php是在a.php內運行的,因此得到 的是a.php的路徑。而在b.php中,__FILE__可能會是 /home/a88888888/public_html/test/b.php, 這是__FILE__所處的真正位置。
 

另外還有一個$_SERVER['PHP_SELF'],看上去似乎和$_SERVER['SCRIPT_NAME']一樣,不過如果你訪問的URL地址為 http://www.yourdomain.com/test/test.php/foo.bar,那么 $_SERVER['PHP_SELF'] 將會是 /test/test.php/foo.bar。服務器獲取當前文件名時會用到!

來自  http://hi.baidu.com/lovehosejing/item/96af172986fb55929c63d1ec

PHP $_SERVER['SCRIPT_FILENAME'] 與 __FILE__

通常情況下,PHP $_SERVER['SCRIPT_FILENAME'] 與 __FILE__ 都會返回 PHP 文件的完整路徑(絕對路徑)與文件名:

<?php
echo 'SCRIPT_FILENAME 為:',$_SERVER['SCRIPT_FILENAME'];
echo '<br />';
echo '__FILE__ 為:',__FILE__;
?>

上述測試代碼拷貝至 test.php 并訪問該文件(http://127.0.0.1/php/test.php),得到如下結果:

SCRIPT_FILENAME 為:E:/web/html/php/test.php
__FILE__ 為:E:\web\html\php\test.php

提示:在 windows 平臺測試,得到結果如上所示可能會出現路徑分隔符的細微差別。

$_SERVER['SCRIPT_FILENAME'] 與 __FILE__ 區別

盡管 $_SERVER['SCRIPT_FILENAME'] 與 __FILE__ 非常相似,但在文件被 include 或 require 包含的時候,二者還是有細微區別。

將上述測試代碼拷貝至D:\xampp\htdocs\ZZZZ\test\test.php ,然后在剛才的 test.php 文件內包含 inc.php :

<?php
include 'common/inc.php';
?>

這時候再訪問 test.php 文件時,輸出結果:

SCRIPT_FILENAME 為:D:/xampp/htdocs/ZZZZ/test/test.php
SCRIPT_NAME   為   "/ZZZZ/test/test.php" 
PHP_SELF   為    "/ZZZZ/test/test.php"

__FILE__ 為:D:\xampp\htdocs\ZZZZ\test\inc.php

可見二者的差別是:$_SERVER['SCRIPT_FILENAME'] 反映的是當前執行程序的絕對路徑及文件名;__FILE__ 反映的是原始文件(被包含文件)的絕對路徑及文件名。

感謝各位的閱讀,以上就是“php中$_SERVER['SCRIPT_NAME']與$_SERVER['SCRIPT_FILENAME']有什么不同”的內容了,經過本文的學習后,相信大家對php中$_SERVER['SCRIPT_NAME']與$_SERVER['SCRIPT_FILENAME']有什么不同這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

沈丘县| 天津市| 资中县| 喀什市| 彭山县| 辽源市| 襄樊市| 蒙阴县| 墨竹工卡县| 巩义市| 汽车| 三门县| 岚皋县| 友谊县| 炎陵县| 区。| 安图县| 调兵山市| 汝阳县| 西峡县| 汤阴县| 连城县| 奈曼旗| 永顺县| 湖口县| 漯河市| 南陵县| 健康| 广东省| 巩义市| 神池县| 山阴县| 邻水| 丰县| 潞西市| 新晃| 资源县| 葫芦岛市| 法库县| 汕头市| 阿坝|