2014-04-10 43 views
0

在我的文件index.php我已經從另一個文件中包含此文本。PHP - 如何包含php腳本,但沒有運行它之前包括

<title> 
    <?php 

    $title = ""; 
    if (basename(__FILE__, ".php") == "index") { 
    $title = "Home"; 
    } else { 
    $title = ucfirst(basename(__FILE__, ".php")); 
    } 

    echo $title; 
    ?> 
</title> 

我想你可以看到我做了什麼,如果沒有,那麼它應該將標題設置爲文件的基本名稱。所以說你有一個文件叫downloads.php,那麼這個腳本的標題就是下載。但我有這個問題,我不知道如何過去。當我通過文本包含。

<head> 
    include "filename.php"; 
</head> 

而我的問題是當我包含文本時,'腳本'在它包含之前運行。說,如果你包含的文件的名稱是filename.php以及您已經包含了文本的主要頁面main.php,頭會而不是主要。我之所以要包含文本,而不是直接粘貼到main.php是因爲如果您有多個文件需要完全相同的代碼,編輯起來會更容易。

我希望你明白我在問什麼,並且你能幫助我。

+0

這幾乎是PHP的整點包括。 –

回答

0

它看起來像你試圖建立一個簡單的系統,把你的網頁分成「子頁面」。好主意。但不是依賴文件名,爲什麼不設置變量?例如:

page_title.php

<?php 
echo "<title>" . $title . "</title>"; 

index.php

<?php $title = "Home"; ?> 
<head> 
    <?php include "page_title.php"; ?> 
</head> 

some_other_page.php

<?php $title = "Some Other Page"; ?> 
<head> 
    <?php include "page_title.php"; ?> 
</head> 

與同爲你想要的任何其他網頁...

實際上,您可能想要封裝頁面的整個<head></head>部分。最後,您可能需要查看PHP中的某些模板引擎,而不是重新發明輪子。我喜歡Smarty,但也有其他人。這些模板引擎可以編寫模板文件(如果需要,還可以包括其他模板),並且可以簡單地將變量傳遞給模板&呈現您的HTML。

+0

重點在於使其自動化,所以每次創建新頁面時我都不必自己做。但是,無論如何,我會考慮這些引擎。聽起來是一個好主意。 – Phoenix1355

1

嘗試$_SERVER['SCRIPT_NAME']

if (basename($_SERVER['SCRIPT_NAME'], ".php") == "index") { 
    $title = "Home"; 
    } else { 
    $title = ucfirst(basename($_SERVER['SCRIPT_NAME'], ".php")); 
} 
+0

這工作!感謝:D – Phoenix1355