2015-05-22 83 views
1

如何將HTML和一些PHP代碼附加到指定文件。 基本上我有一個菜單/導航和惱人的不得不經常編輯每個文件添加一個新的選項卡等導航是響應,所以我不能只是嵌入它,我wouldnt做無論如何。我需要它做例如包括(),但我有一個menu.html文件試圖做我的index.php文件<?php include 'http://www.example.com/menu.html'; ?>它應該顯示菜單,但它顯示。追加HTML和PHP代碼

我也試過Include(menu.html);但是這不會作爲我的index.php工作,其中im試圖包含()菜單在與菜單不同的目錄中。

有什麼辦法可以基本上將HTML導入一堆頁面?如果可能的話,當它導入到頁面時,只要我編輯menu.html,所有的頁面應該有完全相同的HTML菜單。還應該只有一個menu.html,這是我做這件事的主要原因,所以我減輕了文件空間,並減少了編輯菜單的時間。

+1

可以包括文件的地方,但你需要使用一個'absolute'你的服務器上的路徑'/ home/website/menu.html'不是'http://' – cmorrissey

+0

使用'../ path_to_menu/menu.html'。 '../'will將用於移動到您的文件當前存在的父目錄 –

+0

您是指/public_html/menu.html然後cmorrissey? –

回答

1

如果你改變menu.html是menu.php,定義你的HTML菜單功能?

例如

在menu.php

function menu(){ 
    echo "<div>Your menu code in here</div>"; 
} 

在index.php文件

include("menu.php"); 
//here where you place your menu 
menu(); 
+0

你知道你可以「包含」任何文件,對吧?不一定是PHP。 –

+0

你甚至可以在你的'menu.php'文件中使用純HTML,然後像往常一樣包含它。無需執行函數並通過回顯字符串來打印菜單。 –

+0

dis works但是當我把20行+菜單的代碼它滯後頁面這麼多,並加載幾乎沒有 –

0

基本上,include()require()應該用來做到這一點。

但是,您需要了解這些功能,但它們包含文件系統中的文件而不是URL。

所以您的使用情況基本上應該像include('/path/to/file.html');

這些功能基本上都使用,隨處可見,當你想擴展您的應用程序,並擁有像函數和類的代碼可重用塊。

這兩種功能的另一種變體是include_once()require_once如果您嘗試再次包含該文件,該文件只包含一次文件。

0

這將是有益的,你對PHP模板讀了,這樣的事情應該幫助您開始:http://www.phpro.org/tutorials/Introduction-to-PHP-templating.html

+0

僅鏈接的答案一般是不好的,但是這一個......我不確定我看到這裏的相關性。 –

+0

OP顯然是PHP模板的新手。我不能在SO回答中寫出整個指南。有時候人們需要閱讀一份體面的教程/手冊,而不是在那裏和任何地方收集一點點信息。 – diggersworld

0

雖然 「正確」 的方式來做到這一點是指定include_path,我個人的喜好是啓動我的初始化腳本:

chdir($_SERVER['DOCUMENT_ROOT']); 

這意味着我現在可以調用includerequire - 或者真正的任何文件操作 - 並指定一個從站點根目錄開始的路徑,而不用擔心在執行操作時我是否已經在子文件夾中。

根據代碼的組織結構,您可能需要不同的基準路徑。

-1

看來你需要添加菜單/導航文件到頁面。我確實有一些解決方案如下。

  1. 首先,您需要創建.php文件並在其中包含html代碼。其次,如果您使用任何框架或cms,請將其包含在標題中。
  2. 最後,如果你正在使用PHP核心然後按照步驟1

另外,如果你想在不同的頁面不同的菜單,那麼你需要用一些檢查,處理它

1

我會建議使用file_get_contents。 如下使用它:

 $menu = file_get_contents(path/to/menu.html); 

,然後echo $menu;在u需要在頁面在這種情況下要加載的index.php

+0

'readfile'和'include'都比'echo file_get_contents'更好 - 尤其是如果包含的文件非常大。 –

+0

file_get_contents支持文件的url,例如,爲什麼我會因爲OP在問題中使用url而發生故障 – Pushkar