簡體   English   中英

使用php __DIR__

[英]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_onceinclude_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.phpprojectfiles的父文件夾,那么上面的內容將起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM