在上一篇文章《php檔案操作之怎麼快速知道檔案的大小、類型和權限》中,我們介紹了檔案大小、檔案類型和檔案/目錄權限的取得方法,有需要的朋友可以學習了解一下~
本文的主要內容是:返回當前文件所在的位置信息,即獲取並返回當前文件的絕對路徑。
那麼檔案的絕對路徑要怎麼取得呢?以下跟大家介紹幾種常用方法。
1、使用realpath() 函數
我們知道執行PHP腳本的名稱,將它賦值給$filename
,然後可以利用realpath ($filename
)來取得該檔案的絕對路徑(包含檔案名稱),了解$filename
所在的位置資訊。
<?php $filename = "demo.php"; echo "{$filename} 文件所在位置: ".realpath($filename); ?>
輸出結果為:
可以看出,當然檔案$filename
在c磁碟wamp目錄的子目錄www中。
realpath() 函數回傳的絕對路徑是包含檔名的,如果不想要可以利用dirname()函數去掉
<?php $filename = "demo.php"; echo "{$filename} 文件所在位置: ".dirname(realpath($filename)); ?>
這是知道部分檔案url,來取得指定檔案的絕對路徑;但在實際有時我們並不知道目前所在檔案的部分url,這樣要如何取得檔案絕對路徑呢?我們可以利用魔術常數(__FILE__
、__DIR__
)或預先定義變數($_SERVER
)
2、使用魔術常數__FILE__
直接使用__FILE__
常數就可以取得目前檔案的絕對路徑(包含檔案名稱)
<?php echo "当前文件所在位置: ".__FILE__; ?>
輸出結果為:
和上文一樣,如果不想要檔案名稱可以利用dirname()函數去掉,也就是取得目前檔案所在的絕對目錄資訊
<?php echo "当前文件所在位置: ".dirname(__FILE__); ?>
呼叫兩次dirname()函數也可以取得目前檔案的上一層目錄名稱
<?php header("content-type:text/html;charset=utf-8"); echo "当前文件所在位置: ".dirname(dirname(__FILE__)); ?>
輸出結果為:
当前文件所在位置: C:\wamp
3、使用魔術常數 __DIR__
#直接使用__DIR__
常數就可取得目前檔案的絕對路徑,且不包含檔案名稱的,等價於dirname(__FILE__)
。
<?php echo "当前文件所在位置: ".__DIR__; ?>
輸出結果為:
当前文件所在位置: C:\wamp\www
4、使用預定義變數$_SERVER
#$_SERVER 中包含伺服器和執行環境的信息,是一個包含了諸如頭信息(header)、路徑(path)、以及腳本位置(script locations)等等信息的數組。這個陣列中的所有項目由 Web 伺服器建立。
$_SERVER['SCRIPT_FILENAME'] 來取得目前執行腳本的絕對路徑
<?php echo "当前文件所在位置: ".$_SERVER['SCRIPT_FILENAME']; ?>
当前文件所在位置: C:/wamp/www/demo.php
PHP影片教學》!
以上是php檔案操作之傳回檔案所在的位置資訊(絕對位址)的詳細內容。更多資訊請關注PHP中文網其他相關文章!