2011-09-30 55 views
1

比方說,我們有3個文件:File1.php,File2.php,File3.phpPHP - 包括裏面包含(不傳遞變量)

我想把它在哪裏我File1.php包括()文件2 .PHP。然後在File2.php中include()File3.php。我通過在File3.php中編寫測試文本來測試它,當我查看File1.php時,我可以看到測試文本。

現在我的問題是,如果我在File3.php中創建一個變量,說'$ test =「Success!」;',然後我嘗試在File1.php中用'echo $ test'調用它。它什麼都不輸出。它不傳遞變量,但它傳遞標準文本。

這是怎麼回事?

(PS我正在做這樣的原因是因爲組織的。)

編輯

這裏是我的確切代碼: (也忘了提,我抓住了網址該網站第一)

file3.php的

<?php 
     $test = "Success!"; 

file2.php

<?php 
     include 'http://' . $_SERVER['SERVER_NAME'] . '/file3.php'; 

file1.php

<?php 
     include 'http://' . $_SERVER['SERVER_NAME'] . '/file2.php'; 
     echo $test; 

回答

3
echo "$test"; //with double quotes :) 

// or echo $test; 

你能否提供更多的代碼?

http://php.net/manual/en/function.include.php

當包括一個文件,它包含的代碼繼承在其上包括髮生線的可變範圍。從調用文件的那一行可用的任何變量將在被調用的文件中可用,從這一點開始。但是,包含文件中定義的所有函數和類都具有全局範圍。

檢查實施例#1

編輯:每http://php.net/manual/en/features.remote-files.php

另外,網址可與所使用的包括(),include_once()的,需要()和require_once()語句(因爲PHP 5.2.0,allow_url_include必須啓用這些)

所以,你不能包含帶有URL的文件,而是如我的評論所述,使用本地路徑。除非你有allow_url_fopen啓用。這應該工作。

+0

發佈我的代碼在我做編輯。 –

+1

哦,不要使用URL來包含頁面。而是使用本地路徑。例如,包括「/home/.../file2.php」;這應該工作 – Mido

0

如果你的文件有這些行,然後將回聲打印出您的留言:

文件1。PHP:

<?php 
    include 'File2.php'; 
    echo $test; 
?> 

File2.php:

<?php 
    include 'File3.php'; 
?> 

File3.php:

<?php 
    $test='success!'; 
?> 
+0

在我編輯的編輯中發佈我的代碼。 –