如何使用PHP动态生成HTML页面?

时间:2013-02-14 08:56:10

标签: php html mysql dynamic

我有一个页面显示有关属性的信息,基于url中的唯一ID,在mysql数据库中搜索该ID,从该行获取所有信息等,真的很标准。

我想知道是否/如何为每个数据库行“创建”一个html页面,因为我认为这对SEO更好?拥有多个关键字而不是一个动态网页?

我的网站上的表单/上传系统将我的属性添加到数据库中,我想在上传时创建页面可能最简单,但我愿意接受建议!

8 个答案:

答案 0 :(得分:21)

我想知道是否可以“创建”每个数据库行的html页面

您只需要创建一个生成html模板的php文件,该页面上基于文本的内容会发生什么变化。在该页面中,您可以通过POSTGET获取参数(例如行ID),然后从数据库中获取信息。

我认为这对SEO更好?

Google搜索引擎认为example.php?id=33example.php?id=44是不同的网页,而,从SEO的角度来看,这种方式优于单一商家信息页,所以你至少需要两个php文件(listing.phpsingle.php),因为这个页面最好从listing.php链接起来。

额外建议:

example.php?id=33真的很丑,不太友好,也许你需要一些网址重写代码。像example/properties/property-name这样的东西更好;)

答案 1 :(得分:19)

以防万一有人想要生成/创建实际的HTML文件...

$myFile = "filename.html"; // or .php   
$fh = fopen($myFile, 'w'); // or die("error");  
$stringData = "your html code php code goes here";   
fwrite($fh, $stringData);
fclose($fh);

享受!

答案 2 :(得分:9)

根据您的要求,您不必动态生成html页面。它可以通过 .htaccess文件。

这仍然是生成HTML页面的示例代码

<?php

 $filename = 'test.html';
 header("Cache-Control: public");
 header("Content-Description: File Transfer");
 header("Content-Disposition: attachment; filename=$filename");
 header("Content-Type: application/octet-stream; ");
 header("Content-Transfer-Encoding: binary");
?>

你可以创建任何.html,.php文件只需更改文件名中的扩展名

答案 3 :(得分:3)

您不需要生成任何动态html页面,只需使用.htaccess文件并重写URL。

答案 4 :(得分:2)

看起来很有趣,但确实有效。

<?php 
$file = 'newpage.html';
// Open the file to get existing content
$current = file_get_contents($file);
// Append a new person to the file
$current .= "<!doctype html><html>
<head><meta charset='utf-8'>
<title>new file</title>
</head><body><h3>New HTML file</h3>
</body></html>
";
// Write the contents back to the file
file_put_contents($file, $current);
?>

答案 5 :(得分:1)

我建议你使用URL重写mod足以解决你的问题,我有同样的问题,但使用URL重写mod并获得良好的SEO响应。我可以举个小例子。例如,你考虑使用WordPress,这里的数据存储在数据库中,但是使用URL重写mod,许多WordPress网站得到了谷歌的良好反应并获得了排名。

实施例:   wordpress url with out url rewrite mod - domain.com/?p=123   在url重写模式 - domain.com/{title of article}之后,如domain.com/seo-url-rewrite-mod

我想你已经理解了我想说的话

答案 6 :(得分:1)

我的工作方式与此类似,我有一些可能对您有帮助的代码。实时示例是here及以下,是我用来作为参考的代码。

创建-page.php文件

kubectl edit

希望这个文件有用,可以作为启动和推动项目的参考。

答案 7 :(得分:0)

我只是更新代码以包含更改,并对其进行评论,以便您可以清楚地看到正在发生的事情...

<?php   
include("templates/header.htm");   

// Set the default name 
$action = 'index'; 
// Specify some disallowed paths 
$disallowed_paths = array('header', 'footer'); 
if (!empty($_GET['action'])) { 
    $tmp_action = basename($_GET['action']); 
    // If it's not a disallowed path, and if the file exists, update $action 
    if (!in_array($tmp_action, $disallowed_paths) && file_exists("templates/{$tmp_action}.htm")) 
        $action = $tmp_action; 
} 
// Include $action 
include("templates/$action.htm"); 

include("templates/footer.htm");