当前位置:首页 » 编程语言 » 静态页面php代码

静态页面php代码

发布时间: 2022-11-18 09:46:31

1. php静态页面怎么做详细点

确实有点笼统。不过我可以跟楼主大概说一下思路 一般的生成静态页面的方法就先制作一个静态模板,在里面需要动态改变的东西用特殊的代码标记,然后再用PHP将标记替换后生成文件进行保存。 比如:<body> <div>{:This is the content:}</div> </body> 这个里面的{:This is the content:}就是一个特殊的标记。我们设这段代码在a.html文件中,我们用PHP将他读入,<?php $b='这里是内容,可以从数据库读取,或者从其他途径获得'; $fp=fopen('a.html','r'); $content=fread($fp,filesize('a.html')); fclose($fp); $content=str_replace('{:This is the content:}',$b,$content);(额。。这个函数参数顺序记不太清楚了) $fp1=fopen('b.html','w'); fwrite($fp,$content); fclose($fp); ?> 这样我们就得到了b.html这个文件,就是一个静态的文件,里面的代码如下: <body> <div>这里是内容,可以从数据库读取,或者从其他途径获得</div> </body> 这样说,楼主明白了吧? 其实一般的网站是不需要生成这样的静态页面的,流量低的网站命中率也就低了,而且更新起来非常麻烦。这就需要用到一些其他的技术的。比如SSI啊,比如只保存数据库查询结果啊。什么的

2. php前台生成静态页面

给你举个简单的例子
2个文件
1个 temp.html 是模板文件
1个 test.php 是程序文件
在模板文件中有两个{name} 和{age}标记
我们要通过程序文件,替换两个标记并生成新的html文件
——————temp.html————————
<html>
<head><title>{name}的介绍</title></head>
<body>
{name},今年{age}岁了
</body>
</html>

———————test.php————————
<?php
$name = "小强";
$age = "14";
$new = "new1.html";//要生成的静态页面
$file = fopen("temp.html","rb");//打开模板
$temp = fread($file,filesize("temp.html"));//读取模板内容
$temp = str_replace("{name}",$name,$temp);
$temp = str_replace("{age}",$age,$temp);//替换了两个标记

fwrite(fopen($new,"wb"),$temp);//写入静态页面
echo "生成成功!";
?>

这时候你看看是不是生成了new1.html
下面改进一下,批量生成
——————————test2.php————————————
<?php
$name = array("小强","小刚","小红","小静");
$age = array("14","17","15","14");

$file = fopen("temp.html","rb");//打开模板
$temp = fread($file,filesize("temp.html"));//读取模板内容

for($i=0;$i<count($name);$i++){
$ok = "";
$ok = str_replace("{name}",$name[$i],$temp);
$ok = str_replace("{age}",$age[$i],$ok);//替换了两个标记
$fp = fopen($i."_n.html","wb");//写入静态页面
fwrite($fp,$ok);
fclose($fp);
}
?>
最后生成了
0_n.html
1_n.html
2_n.html
3_n.html

3. 怎么用php生成静态页代码

<?php
ob_start();
// 需要生成静态页的内容
// 如:echo '内容';
$content = ob_get_clean();
// 将$content写入目标文件
$fp = fopen('index.html');
fwrite($fp, $content);
ob_end_clean();
?>

希望能够帮到你

4. PHP 如何生成静态 页面

哦...这个哒
你用的是apache吧
看看里面有个设置文件http.conf
里面去找这条类似的
# Begin PHP Configure by PHPnow
LoadMole php5_mole "../php-5.2.6-Win32/php5apache2_2.dll"
<IfMole mod_php5.c>
PHPINIDir "../php-5.2.6-Win32/"
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
</IfMole>
# End PHP Configure by PHPnow
然后把
AddType application/x-httpd-php .php
改了
AddType application/x-httpd-php .htm
....................华丽的分界线...........................

然后去把你所有后缀为php的文件改成htm
然后就可以了

这招其实是用来防黑客注入滴~~~~

5. php静态化页面方法,伪静态的也可以

PHP伪静态写法--其一
伪静态又名:URL重写
主要是为了SEO而生的。(SEO是什么?这个不用问我吧。呵呵~搞网络的不懂SEO那就~~~~)
方法一:
比如这个网页
http://www.2cto.com /soft.php/1,100,8630.html
其实处理的脚本是soft.php 参数为1,100,8630
相当于soft.php?a=1&b=1=100&c=8630 只不过这样的URL太难记。搜索引擎也不喜欢。
真静态只是完全生成了HTML。
客户端访问的时候直接输出。不用脚本解释。在流量非常大的时候(比如每天有上百万的访问量的时候)会起到很好的效果。也就是说服务器端实实在在的存在这个HTML页面。
当然在你网站的流量没有那么大的时候。URL重写是最好的方法(个人观点,大流量的时候可以考虑负载均衡了。同样没有关系)
附URL重写的方法有很多种,APACHE,IISREWRITE。甚至PHP脚本都可以直接处理。比如上例中就是PHP脚本直接处理(该方法好处是大流量的时候直接减轻WEB服务器的压力。PS:同样也是个人观点:
================================================
下面以程序为例讲一下PHP伪静态的程序实现方法,其实这方法我之前已经有在其它论坛社区发过
程序为例:
http://www.2cto.com /soft.php/1,100,8630.html
CODE:
//利用server变量 取得PATH_INFO信息 该例中为 /1,100,8630.html 也就是执行脚本名后面的部分
if(@$path_info =$_SERVER["PATH_INFO"]){
//正则匹配一下参数
if(preg_match("/\/(\d+),(\d+),(\d+)\.html/si",$path_info,$arr_path)){
$gid =intval($arr_path[1]); //取得值 1
$sid =intval($arr_path[2]); //取得值100
$softid =intval($arr_path[3]); //取得值8630
}else die("Path:Error!");
//相当于soft.php?gid=1&sid=100&softid=8630

//就是这么简单了。~)
方法二:
一 打开 Apache 的配置文件 httpd.conf 。
二 将#LoadMole rewrite_mole moles/mod_rewrite前面的#去掉
三 在 httpd.conf中添加:
<IfMole mod_rewrite.c>
RewriteEngine On
#RewriteCond %{ENV:SCRIPT_URL} (?:index|dispbbs)[-0-9]+.html
RewriteRule ^(.*?(?:index|dispbbs))-([-0-9]+).html 1.php?__is_apache_rewrite=1&__rewrite_arg=2
</IfMole>
四 要实现asp帖子URL到php帖子的映射,在 第三步的<IfMole mod_rewrite.c>和</IfMole>之间添加:
RewriteMap tolowercase int:tolower
RewriteCond %{QUERY_STRING} (?:boardid|page|id|replyid|star|skin)=d+ [NC]
RewriteRule ^(.*(?:index|dispbbs)).asp 1.php?{tolowercase:%{QUERY_STRING}}&__is_apache_rewrite=1
五 保存httpd.conf并重启Apache
方法三:
<?php
/*
功能:PHP伪静态化页面的实现
具体用法:
例如链接为:test.php/year/2006/action/_add.html
mod_rewrite();
$yearn=$_GET["year"];//结果为'2006'
$action=$_GET["action"];//结果为'_add'
*/
function mod_rewrite(){
global $_GET;
$nav=$_SERVER["REQUEST_URI"];
$script_name=$_SERVER["SCRIPT_NAME"];
$nav=substr(ereg_replace("^$script_name","",urldecode($nav)),1);
$nav=preg_replace("/^.ht(m){1}(l){0,1}$/","",$nav);//这句是去掉尾部的.html或.htm
$vars = explode("/",$nav);
for($i=0;$i<Count($vars);$i+=2){
$_GET["$vars[$i]"]=$vars[$i+1];
}
return $_GET;
}
mod_rewrite();
$yearn=$_GET["year"];//结果为'2006'
$action=$_GET["action"];//结果为'_add'
echo $yearn;
echo $action;
?>
<?php
/*
功能:PHP伪静态化页面的实现
具体用法:
例如链接为:test.php/year/2006/action/_add.html
mod_rewrite();
$yearn=$_GET["year"];//结果为'2006'
$action=$_GET["action"];//结果为'_add'
*/
function mod_rewrite(){
global $_GET;
$nav=$_SERVER["REQUEST_URI"];
$script_name=$_SERVER["SCRIPT_NAME"];
$nav=substr(ereg_replace("^$script_name","",urldecode($nav)),1);
$nav=preg_replace("/^.ht(m){1}(l){0,1}$/","",$nav);//这句是去掉尾部的.html或.htm
$vars = explode("/",$nav);
for($i=0;$i<Count($vars);$i+=2){
$_GET["$vars[$i]"]=$vars[$i+1];
}
return $_GET;
}
mod_rewrite();
$yearn=$_GET["year"];//结果为'2006'
$action=$_GET["action"];//结果为'_add'
echo $yearn;
echo $action;
?>

6. thinkphp 能在静态页面的js里写php代码吗

你可以在静态页面写个js链接,链接文件是你用thinkphp写的php文件输出到静态页面

7. 求PHP静态页面站内搜索代码.

看看这个是否对你有帮助
<?php
function get_msg($path) {
global $key, $i;
$handle = opendir($path);
while ($filename = readdir($handle)) {
echo $path."/".$filename."<br>";
$newpath = $path."/".$filename;
$check_type = preg_match("/\.html?$/", $filename);
if (is_file($newpath) && $check_type) {
$fp = fopen($newpath, "r");
$msg = fread($fp, filesize($newpath));
fclose($fp);
match_show($key, $msg, $newpath, $filename);
}
if (is_dir($path."/".$filename) && ($filename != ".") && ($filename != "..")) {
//echo "<BR><BR><BR>".$newpath."<BR><BR><BR>";
get_msg($path."/".$filename);
}
}
closedir($handle);
return $i;
}

function match_show($key, $msg, $newpath, $filename) {
global $key, $i;
$key = chop($key);
if ($key) {
$msg = preg_replace("/<style>.+<\/style>/is", "", $msg);
$msg = str_replace(" ", "", $msg);
$msg = preg_replace("/<[^>]+>/", "", $msg);
$value = preg_match("/.*$key.*/i", $msg, $res);
if ($value) {
$res[0] = preg_replace("/$key/i", "<FONT SIZE=\"2\" COLOR=\"red\">$key</FONT>", $res[0]);
$i++;
$link = $newpath;
print "<a href=\"$link\">$filename</a><BR>";
print $res[0]."<BR><br>";
}
}else {
echo "请输入关键词";
exit;
}
}
$i = get_msg(".");
echo "<BR><BR>".$i."<BR><BR><BR>";

?>

8. 如何用PHP输出静态页面

一种是利用模板技术,另一种是用ob系列函数。两种方法,看起来都差不多,但是实际上,却是不同的。
第一种:利用模板目前PHP的模板可以说是很多了,有功能强大的smarty,还有简单易用的smart
template等。
它们每一种模板,都有一个获取输出内容的函数。
我们生成静态页面的方法,就是利用了这个函数。
用这个方法的优点是,代码比较清晰,可读性好。
$t
=
new
Smarty;
$t->assign("title","Hello
World!");
$content
=
$t->fetch("templates/index.htm");
//这里的
fetch()
就是获取输出内容的函数,现在$content变量里面,就是要显示的内容了
$fp
=
fopen("archives/2005/05/19/0001.html",
"w");
fwrite($fp,
$content);
fclose($fp);?>第二种方法:利用ob系列的函数这里用到的函数主要是
ob_start(),
ob_end_flush(),
ob_get_content(),
其中ob_start()是打开浏览器缓冲区的意思,
打开缓冲后,所有来自PHP程序的非文件头信息均不会发送,
而是保存在内部缓冲区,直到你使用了ob_end_flush().
而这里最重要的一个函数,就是ob_get_contents(),
这个函数的作用是获取缓冲区的内容,相当于上面的那个fetch(),
道理一样的。代码:

9. php如何实现网页静态

一、静态化的优点:
1有利于搜索引擎收录网站页面的信息:搜索引擎更喜欢静态的,更变于抓取,搜索引擎SEO排名会更容易提高。
2静态网页化网页稳定
3可以提高网页加载速度
4减轻服务器负担,浏览器不需要频发调用数据库。
5数据库出错不会影响正常访问
二、伪静态
PHP伪静态:是利用Apache mod_rewite实现url重写的方法
改写访问地址,能够通过URL的PATHINFO模式来改动它。让它看上去更像一个静态页面。从而有更大的几率被搜索引擎抓取和收录,仅是对搜索引擎比较友好,伪静态化
三、纯静态化
纯静态化,就是生成HTML文件的方式,我们须要开启PHP自带的缓存机制,即ob_start来开启缓存。而且在ob_start之前不能有不论什么输出,否则运行失败,然后我们用ob_get_contents函数来获取缓存中的内容,该函数会返回一个字符串。第三个函数就是ob_end_clean,它用来清空缓存中的内容而且关闭,成功返回True,失败返回False。
<?php
if(file_exists("match.html") && (time()-filemtime("match.html"))<300)
{
//如果存在对应的静态文件,则直接访问
require_once("match.html");
}else{
//这里用数组来仿真数据库操作,现实一般都是操作数据库得到对应数据
$student = array("huangxing","chenyuwei",'xufei','zhangjingwen','xuepei');
ob_start();
//载入模板
require_once("muban.php");
file_put_contents("match.html",ob_get_clean());
require_once('match.html');
}

10. php如何生成静态页面

lz只是想要主页生成静态吗?这种问题我回答过,也许可以帮助你
如果是这样就在你的主页(index.php)同一文件夹下建立index0.php并保证当前文件夹可以写入

index0.php代码如下
<?php
ob_start();//将这里以后的所有输出内容保存
include('index.php');//加载原首页
$write=ob_get_contents();//ob_get_contents函数获取输出内容,兼容php4以上版本
if(!$fh=fopen('index.html','w')){
exit("不能打开文件'index.html'");
}
if(fwrite($fh,$write)===false){
exit("不能写入文件'index.html'");
}
fclose($fh);
echo"静态首页成功更新!"
?>

每次打开这个页面(index0.php),都会直接显示你的首页(动态地)并将显示的东西写入index.html文件,并在最后显示是否成功更新。当然你可以选择不显示更新状态,看你喜欢如何

以后你就可以通过访问index0.php来生成静态首页,静态首页为index.html

热点内容
php函数默认值 发布:2025-01-15 07:34:31 浏览:238
编译应用后apk无法打开 发布:2025-01-15 07:33:45 浏览:437
lc脚本编辑器 发布:2025-01-15 07:18:59 浏览:528
追剧脚本 发布:2025-01-15 07:00:39 浏览:446
c语言字符串库函数 发布:2025-01-15 06:54:49 浏览:526
c语言的工作 发布:2025-01-15 06:50:50 浏览:521
口语交际访问 发布:2025-01-15 06:44:13 浏览:329
编程少儿学习 发布:2025-01-15 06:39:03 浏览:504
服务器搭建怎么设置 发布:2025-01-15 06:39:01 浏览:152
格鲁尔要什么配置 发布:2025-01-15 06:26:56 浏览:857