导航:首页 > 编程语言 > php生成静态页面类

php生成静态页面类

发布时间:2022-07-28 23:40:05

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中的静态类是怎么实现的啊

首先:类不可以标注static,也就是说没有“静态类“!

所谓"静态类"指的是:类中含有静态的成员、方法是用static标注的。写法例如:

<?php
classMath
{
publicstaticfunctionceil($value)
{
returnceil($value);
}
publicstaticfunctionfloor($value)
{
returnfloor($value);
}
}
?>


另外类种的静态方法无需实例化成对象即可使用哦,实例化会报错哦;

Ⅲ 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');
}

Ⅳ 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
然后就可以了

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

Ⅳ php生成HTML静态页面如何实现

php生成静态页面的技术很多,你看你需要那一种,像一楼二楼说得那样,是用得smarty技术,你也可以直接用代码实现,也可以用固有的CMS来实现或者用框架来实现。

Ⅵ php程序如何批量生成静态页

在速度上,静态页面要比动态页面的比方php快很多,这是毫无疑问的,但是由于静态页面的灵活性较差,如果不借助数据库或其他的设备保存相关信息的话,整体的管理上比较繁琐,比方修改编辑.比方阅读权限限制等,但是,对应一些我们经常频频使用的文件,比方说,开发的新闻发布系统,我们不希望很多用户都读取数据库才显示结果,这样一方面消耗了服务器的资源,另一方面占去了浏览者大量可贵的响应时间,所有,有了"静态页面话"的做法,当前很多网站都采用这种技术,一般都是由管理后台控制,或者生成html直接显示,或者xhtml用css控制显示,或者生成xml用xslt显示,这些技术都不是难的,在这里我就浅显的说说生成html的方法.
有些信息比方经常不变的,但是还是能变的信息放在缓存中以加快显示速度,这是很有价值的,所谓的缓存,通俗的理解就是一些保存在服务器端的共用信息.它是于服务器同生死的,我们在保存缓存的时候可以指定下次更新的时间的判断,比方要在5分钟更新一次,可以记录上次更新的时间,和当前时间比较,如果大于
5
分钟
,读取数据库,更新换成,否则直接读取缓存数据,当然,缓存需要客户端用户激活的,只需一次.
ob_start()函数:打开输出缓冲区.
函数格式
void
ob_start(void)
说明:当缓冲区激活时,所有来自PHP程序的非文件头信息均不会发送,而是保存在内部缓冲区。为了输出缓冲区的内容,可以使用ob_end_flush()或flush()输出缓冲区的内容。
Flush:刷新缓冲区的内容,输出。
函数格式:flush()
说明:这个函数经常使用,效率很高。
ob_get_contents
:返回内部缓冲区的内容。
函数格式:string
ob_get_contents(void)
说明:这个函数会返回当前缓冲区中的内容,如果输出缓冲区没有激活,则返回
FALSE.
ob_get_length:返回内部缓冲区的长度。
函数格式:int
ob_get_length(void)
说明:这个函数会返回当前缓冲区中的长度;和ob_get_contents一样,如果输出缓冲区没有激活,则返回
FALSE.
ob_end_clean:删除内部缓冲区的内容,并且关闭内部缓冲区
函数格式:void
ob_end_clean(void)
说明:这个函数不会输出内部缓冲区的内容而是把它删除
ob_end_flush:发送内部缓冲区的内容到浏览器,并且关闭输出缓冲区
函数格式:void
ob_end_flush(void)
说明:这个函数发送输出缓冲区的内容(如果有的话)
ob_implicit_flush:打开或关闭绝对刷新
函数格式:void
ob_implicit_flush
([int
flag])
说明:默认为关闭缓冲区,打开绝对输出后,每个脚本输出都直接发送到浏览器,不再需要调用
flush()
文件写入:
int
fwrite
(
resource
handle,
string
string
[,
int
length]
)
fwrite()

string
的内容写入
文件指针
handle
处。
如果指定了
length,当写入了
length
个字节或者写完了
string
以后,写入就会停止,视乎先碰到哪种情况。
fwrite()
返回写入的字符数,出现错误时则返回
FALSE

相关参考官方网站:
文件参考
三、解决方案
思路:开启
ob_start缓冲,当已经调出数据的时候获取
ob_get_contents,然后生成静态页,ob_end_clean清除缓冲.ok,就这么来,来看一个例子(php+mysql的结合):
创建数据库:
CREATE
TABLE
`bihtml`
(
`id`
int(11)
NOT
NULL
auto_increment,
`szdtitle`
varchar(16)
NOT
NULL,
`szdcontent`
text
NOT
NULL,
PRIMARY
KEY
(`id`)
)
TYPE=MyISAM;
获取当前的ID,并导入模板:
ob_start();
$id=_POST['id']
if(!isset($id)&&is_integer($id))
{
@$db=new
mysqli('localhost','root','admin','bihtml');
$result=$db->fetch_one_array("select
*
from
szd_bi
where
id='$id'");
if(!empty($result))
{
$tmp->assign(array(
"Szdtitle",htmlspecialchars($result['titles']),
"Szdcontent",$result['titles']));
}
$tpl->display('default_1.tpl');
$this_my_f=
ob_get_contents();
//此处关键
ob_end_clean();
$filename
=
"$id.html";
if(tohtmlfile_cjjer($filename,$this_my_f))
echo
"生成成功
$filename";
else
echo
"生成识别";
}
}
//把生成文件的过程写出函数
function
tohtmlfile_cjjer($file_cjjer_name,$file_cjjer_content)
{
if
(is_file
($file_cjjer_name)){
@unlink
($file_cjjer_name);
}
$cjjer_handle
=
fopen
($file_cjjer_name,"w");
if
(!is_writable
($file_cjjer_name)){
return
false;
}
if
(!fwrite
($cjjer_handle,$file_cjjer_content)){
return
false;
}
fclose
($cjjer_handle);
//关闭指针
return
$file_cjjer_name;
}

Ⅶ 如何让thinkphp生成全静态页面

可以使用php的ob缓存来实现静态页面的生成。
比如:
你原本要输出a.php页面的内容,但是这个是php的动态文件,是要经过处理的,
因此,你在该文件的尾部(在业务都处理完了的地方),开始ob缓存(ob_start();),
然后将缓存存入到一个变量($content = ob_get_contents();),最后再将该变量保存到
静态的html文件中(file_put_contents('/a.html','$content');)就可以了。

Ⅷ PHP网站如何实现网页伪静态或静态

伪静态 实际是服务器的设置,php实现静态,就是用php生成静态页,可以考虑用php的smarty 模板引擎

Ⅸ 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啊,比如只保存数据库查询结果啊。什么的

阅读全文

与php生成静态页面类相关的资料

热点内容
电脑感染exe文件夹 浏览:914
wpsppt怎么转pdf格式 浏览:86
腾讯文档在线编辑怎么添加密码 浏览:868
本地不能访问服务器地址 浏览:865
访问服务器命令 浏览:835
华为云服务器分销商 浏览:954
Linux定位内存泄露 浏览:198
工程加密狗视频 浏览:720
不在内网怎么连接服务器 浏览:664
云服务器app安卓下载 浏览:966
如何查看linux服务器的核心数 浏览:137
交易平台小程序源码下载 浏览:148
程序员记笔记用什么app免费的 浏览:646
java与单片机 浏览:897
服务器内网如何通过公网映射 浏览:478
程序员穿越到宋代 浏览:624
怎么使用云服务器挂游戏 浏览:618
真实的幸福pdf 浏览:345
d盘php调用c盘的mysql 浏览:266
怎么样搭建源码网站 浏览:430