[英]using php __DIR__
我正在嘗試創建一個config.php文件來定義一個全局變量,該變量包含一個名為“projectfiles”的目錄的路徑。 我們的想法是,無論文件樹在何處,任何文件都可以指向此目錄。
我可以使用__DIR__
嗎? 有人願意給我一個如何運作的例子嗎? 我在考慮以下內容:
我想在這里定義一個目錄:在/config.php
文件中
$projectfiles = __DIR__("projectfiles/")
然后我想要一個庫文件能夠在/venders/library/generalfunctions.php
文件中使用這個變量
include("../../../config.php");
$file = $projectfiles/testfile.php
建議?
__DIR__
肯定是你要找的。 使用它為所需文件提供相對路徑。 我強烈建議對所有庫文件使用require_once
或include_once
。
if( !defined( __DIR__ ) ) define( __DIR__, dirname(__FILE__) );
require_once( __DIR__ . '/../../../config.php');
.
.
.
// you code here
使用第一行確保您不會遇到PHP 5.2及其他問題。 這將允許您根據目錄結構而不是相對於調用的腳本包含文件。 許多框架使用dirname(__FILE__)
代替,但運行多次是相當浪費的。 最好只用支票將它添加到某個地方。
看起來這個應用程序的架構不是最優的,但不知道更多,我不能評論這個..
我建議將它定義為一個常量,這樣它就無法改變,無論范圍如何都可以使用。
define('PROJECTFILES',__DIR__.'/projectfiles/');
假設:
/config.php
/projectfiles/include_me.php
include(PROJECTFILES.'include_me.php');
請記住__DIR__
將引用config.php
所在的目錄。如果config.php
是projectfiles
的父文件夾,那么上面的內容將起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.