2012-05-10 79 views
-5

我已經創建了一個HTML文件並存儲在別處的目錄中。如何在PHP中提供動態HTML?

的問題是,我希望能夠得到外部的內容,並將其放置在HTML文件中。

我想我可以使用PHP對於這一點,因爲它的服務器端,並且可以訪問我想要的文件。

所以,我創建了打開和呼應一個HTML文件,事後,回聲一些JavaScript來改變在屏幕上元素的PHP腳本。

這是我的PHP文件:

<?php 

$html = file_get_contents('file.html'); 

$imageurl = file_get_contents('url.txt'); 

$js = '<script type=\'text/javascript\'>updateImage(\'img1\', '.$imageurl.');</script>'; 

echo $html; 

echo $js; 

?> 

..和HTML文件:

<html> 
<script type="text/javascript"> 
function updateImage(id, url) { 
    var img = document.getElementsByName(id)[0]; 
    img.src = url; 
} 
</script> 

<body> 

<img src="" name="img1" /> 

</body> 

</html> 

這不是最好的方法,但它的工作原理。

我想知道怎樣在PHP中做到這一點,而不是使用JavaScript。

我不知道作爲這一點的最好辦法。

+3

你知道PHP是什麼? http://en.wikipedia.org/wiki/PHP –

回答

0

您可以使用includeob_get_contents來獲取html作爲字符串,並對此做一些str_replacepreg_replace

你的HTML:

<html> 
    <body> 
     <img src="{IMAGE_SRC}" width="512" height="512" name="image" /> 
    </body> 
</html> 

你的PHP:

ob_start(); 
include 'your_file.html'; 
$buffer = ob_get_contents(); 
ob_end_clean(); 
$buffer = str_replace('{IMAGE_SRC}', 'your_image.png', $buffer); 

print $buffer; 
+0

順便說一句,這也適用於'<?php print $ someVariable; ?>'或'<?= $ someVariable;正如Chris在另一個答案中所說的那樣。這就是爲什麼我比'file_get_contents'更喜歡'ob_get_contents'這樣的事情。 – SJFrK

0

這是一個非常基本的問題。你應該閱讀一些PHP和HTML教程。像這樣的事情會做的伎倆:

<html> 

<body> 
<img src="" width="512" height="512" name="<?= $somePhpVariableContainingTheName ?>" /> 
</body> 

</html>