2010-05-31 120 views
1

我想要包含一個文件,以便在任何PHP類的方法/函數中都可以訪問。該文件只包含一個base-64編碼變量。我該怎麼做呢?如何在課堂中包含文件?

謝謝。

+0

「該文件只包含一個base-64編碼變量」 - 作爲PHP代碼,比如' VolkerK 2010-05-31 10:12:37

+0

是的,那是正確的 – 404Error 2010-05-31 10:13:05

+0

您是否可以控制此文件,即a)它是否值得信賴b)您可以更改格式嗎? – VolkerK 2010-05-31 10:17:38

回答

3

對於這種情況,最好使用常量。

define('MY_BASE64_VAR', base64_encode('foo')); 

它將隨處可用並且是不可變的。

require "constant.php"; 
class Bar { 
    function showVariable() {echo MY_BASE64_VAR;} 
} 

當然,您仍然需要在將文件用於課程之前將其包含在其中。

2
<?php include("common.php"); ?> 

檢查here

0

如果你想確保它包含在每類中,請務必將其包含在每一個類,但使用include_once爲efficency

<?php include_once("common.php"); ?> 
0

如果你只是保存base64編碼數據,沒有任何該文件中的其他php代碼可以簡單地讀取其內容,解碼數據並將其分配給對象的屬性。

class Foo { 
    protected $x; 

    public function setSource($path) { 
    // todo: add as much validating/sanitizing code as needed 
    $c = file_get_contents($path); 
    $this->x = base64_decode($c); 
    } 

    public function bar() { 
    echo 'x=', $this->x; 
    } 
} 

// this will create/overwrite the file test.stackoverflow.txt, which isn't removed at the end of the script. 
file_put_contents('test.stackoverflow.txt', base64_encode('mary had a little lamb')); 
$foo = new Foo; 
$foo->setSource('test.stackoverflow.txt'); 
$foo->bar(); 

打印x=mary had a little lamb

(您可能要脫鉤,更多一點......但它只是一個例子。)