PHP可以使用魔術常數FILE來取得目前檔案的絕對路徑,而不管目前的檔案是否是被其他檔案包含的,這在許多情況下是非常有用的,但有時當我們進行讀寫檔之類的操作時,相對的是目前腳本的工作目錄,也就是入口php檔案的目錄,此時可以採用php提供的另一個函數getcwd()來取得
看下面兩個例子
在ch06中建立檔案test.php內容如下
<?php $a= getcwd(); //变量a的值为D:\php\zend6.1\ch6 $b=FILE; //变量b的值为D:\php\zend6.1\ch6\test.php ?>
由此可見getcwd()傳回的是檔案所在的絕對路徑但是沒有檔案本身的名字。 FILE則是回傳的是檔案所在的絕對路徑但是有檔案本身的名字在內
下面在ch06專案下建立資料夾admincp資料夾。在admincp資料夾下建立檔案fff.php。程式碼如下
<?php include_once '../test.php'; echo $a;//变量a中的值是D:\php\zend6.1\ch6\admincp echo '<pre class="brush:php;toolbar:false">'; echo $b;//变量b中的值是D:\php\zend6.1\ch6\test.php ?>
由此可見,在另一個檔案中包含test.php檔案。在test.php檔中用getcwd()取得的test.php的路徑變數a在包含之後會改變。 目錄結構加上了ffff.php的所在目錄admincp,所以·在用檔案定位時FILE較好
範例
<?php define('PATH_ROOT',($PATH_ROOT=dirname(FILE))?$PATH_ROOT:'..'); $PATH_admincp=PATH_ROOT.'\admincp'; $PATH_picture=PATH_ROOT.'\pciture'; $PATH_admincp_include=$PATH_admincp.'\include'; ?>
<?php include_once dirname(FILE).'/../../path.php'; include_once PATH_ROOT."/con_ini.php"; ?>
以上是php 中的getcwd()和__FILE__方法有什麼不一樣的詳細內容。更多資訊請關注PHP中文網其他相關文章!