dirname(FILE) 取到的是目前檔案的絕對路徑,也就是說,比起相對路徑,找出速度是最快的。
PHP 常數dirname(file)
FILE :稱為PHP魔術常數 ,傳回目前執行PHP腳本的完整路徑與檔名,包含一個絕對路徑
1)dirname(FILE) 函數傳回的是腳本所在的路徑。
例如檔案b.php 包含如下內容:
<?php $basedir = dirname(FILE); echo $basedir //将在页面打印出一个这个文件所在绝对路径! ?>
我做的測試得到結果: E:/website/othertest/cms
這個相當於, asp中的server.mappth的用法
如果b.php被其他目錄裡的a.php檔案require 或include 去引用的話。 變數$basedir 的內容還是b.php所在的那個資料夾的路徑。 而不是變成a.php檔案所在的目錄。
2)dirname(FILE) 一般會傳回檔案所的目前目錄到系統根目錄的一個目錄結構。
不會傳回目前的檔案名稱。 dirname(FILE) 也可能回傳一個。(目前目錄) [原因是b.php 檔案在 http.conf 或PHP 設定開發環境的預設WEB目錄下
##幾個PHP 的「魔術常數」
LINE 檔案中的目前行號。
FILE 檔案的完整路徑和檔案名稱。如果用在
包含檔案中,則傳回包含檔案名稱。自 PHP 4.0.2 起,FILE 總是包含一個絕對路徑,而在此之前的版本有時會包含一個相對路徑。 FUNCTION 函數名稱(PHP 4.3.0 新加)。自 PHP 5 起本常數傳回該函數被定義時的名字(區分大小寫)。在 PHP 4 中該值總是小寫字母的。
CLASS 類別的名稱(PHP 4.3.0 新加)。自 PHP 5 起本常數傳回該類別被定義時的名字(區分大小寫)。在 PHP 4 中該值總是小寫字母的。
METHOD 類別的方法名稱(PHP 5.0.0 新加)。回傳此方法定義時的名字(區分大小寫例如目前檔案是放在(d:\www\)下,檔案名稱是test.php。
測試的程式碼如下:
<?php echo FILE ; // 取得当前文件的绝对地址,结果:D:\www\test.php echo dirname(FILE); // 取得当前文件所在的绝对目录,结果:D:\www\ echo dirname(dirname(FILE)); //取得当前文件的上一层目录名,结果:D:\ ?>
使用方法提示, dirname(FILE) 取到的是當前文件的絕對路徑,也就是說,比起相對路徑,查找速度是最快的。目錄往上提升一個層次:
例如:$d = dirname(dirname(FILE));
其實就是把目錄給dirname()做參數了. \或是/
所以重複使用的時候可以認為dirname() 把最下層的目錄當成檔名來處理了.的目錄.
#包含得到上一層目錄的檔案
include(dirname(FILE).'/../filename.php');
FILE的路徑是目前程式碼所在檔案
dirname(dirname(FILE));得到的是檔案上一層目錄名稱
dirname(FILE);得到的是檔案所在層目錄名稱
以上是如何使用php中的dirname(__FILE__) 取得目前檔案的絕對路徑的詳細內容。更多資訊請關注PHP中文網其他相關文章!

負載均衡會影響會話管理,但可以通過會話複製、會話粘性和集中式會話存儲解決。 1.會話複製在服務器間複製會話數據。 2.會話粘性將用戶請求定向到同一服務器。 3.集中式會話存儲使用獨立服務器如Redis存儲會話數據,確保數據共享。

Sessionlockingisatechniqueusedtoensureauser'ssessionremainsexclusivetooneuseratatime.Itiscrucialforpreventingdatacorruptionandsecuritybreachesinmulti-userapplications.Sessionlockingisimplementedusingserver-sidelockingmechanisms,suchasReentrantLockinJ

PHP會話的替代方案包括Cookies、Token-basedAuthentication、Database-basedSessions和Redis/Memcached。 1.Cookies通過在客戶端存儲數據來管理會話,簡單但安全性低。 2.Token-basedAuthentication使用令牌驗證用戶,安全性高但需額外邏輯。 3.Database-basedSessions將數據存儲在數據庫中,擴展性好但可能影響性能。 4.Redis/Memcached使用分佈式緩存提高性能和擴展性,但需額外配

Sessionhijacking是指攻擊者通過獲取用戶的sessionID來冒充用戶。防範方法包括:1)使用HTTPS加密通信;2)驗證sessionID的來源;3)使用安全的sessionID生成算法;4)定期更新sessionID。

本文比較了PHP和ASP.NET,重點是它們對大規模Web應用程序,性能差異和安全功能的適用性。兩者對於大型項目都是可行的,但是PHP是開源和無關的,而ASP.NET,


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Atom編輯器mac版下載
最受歡迎的的開源編輯器