2012-09-11 51 views
0

我想在其中寫有3 $變種的html文件上使用file_get_contents(),並讓這些變量通過$ _POST獲取分配給它們的數據。閱讀其中的變量的HTML文件的內容

例如:

-html file- 
    <html> 
    . 
    . 
    <table> 
    <tr> 
    <td>first name</td><td>last name</td><td>id</td> 
    </tr> 
    <tr> 
    <td>$fname</td><td>$lname</td><td>$id</td> 
    </tr> 
    </table> 
    </html> 

-php file- 
    <?php 
    . 
    . 
    $fname = $_POST('fname'); 
    $lname = $_POST('lname'); 
    $id = $_POST('id'); 
    $page = file_get_contents("test.html"); 
    echo $page; 
    ?> 

我做了什麼,現在是制定一個評論"<!--split-->",其中瓦爾去,然後我爆炸()的的file_get_contents(「test.html的」),附加瓦爾到底它和implode()$頁面。 但對於這樣一個小任務似乎有點密集,我希望有更好的解決方案。 我希望我的問題已經很清楚了。如果沒有請問,我會盡力澄清,如果我可以。

回答

2

這是一個解決方案,將需要test.html文件的控制權:

1:重命名test.htmltest.php

2:編輯test.php所以它看起來像這樣(請注意,我添加了echo關鍵字,由PHP開始和結束標記包圍):

<?php 
//View (PHP file) 
?> 
<html> 

    <table> 
     <tr> 
      <td>first name</td><td>last name</td><td>id</td> 
     </tr> 
     <tr> 
      <td><?php echo $fname; ?></td> 
      <td><?php echo $lname; ?></td> 
      <td><?php echo $id; ?></td> 
     </tr> 
    </table> 

</html> 

3:現在,在您的主PHP文件,只需include的PHP模板文件:

$fname = $_POST('fname'); 
$lname = $_POST('lname'); 
$id = $_POST('id'); 
include 'test.php'; 
+0

找到它們,這正是我一直在尋找的!謝謝。 – Jake

+0

這是模型 - 視圖 - 控制器(MVC)設計的一個例子。您的模型(數據)由設置到$ _POST數組中的值組成。 Controller是主PHP腳本的頂部,它將$ _POST值設置爲您的本地變量($ fname,$ lname,$ id)。該視圖是包含的HTML。 –

+0

最後一個問題給你。我試圖獲取文件內容後,我包含它,然後回顯它,但值是空的......我怎麼能回顯頁面? – Jake

1

什麼:

-html file- 
    <html> 
    . 
    . 
    <table> 
    <tr> 
    <td>first name</td><td>last name</td><td>id</td> 
    </tr> 
    <tr> 
    <td>%s</td><td>%s</td><td>%s</td> 
    </tr> 
    </table> 
    </html> 

-php file- 
    <?php 
    . 
    . 
    $fname = $_POST('fname'); 
    $lname = $_POST('lname'); 
    $id = $_POST('id'); 
    $page = sprintf(file_get_contents("test.html"),$fname,$lname,$id); 
    echo $page; 
    ?> 
+0

這很酷實際。 :)有沒有像這樣的其他漂亮的方法? – Jake

+0

是的,它們是:你可以在http://www.php.net/manual/en/index.php –