PHP 替换模板变量实现步骤


Posted in PHP onAugust 24, 2009

1.首先需要打开一个文件.这里用到了PHP ->fopen();函数
定义和用法
fopen() 函数打开文件或者 URL。
如果打开失败,本函数返回 FALSE。
函数原型:
fopen(filename,mode,include_path,context)
https://3water.com/w3school/php/func_filesystem_fopen.asp.htm
说明
fopen() 将 filename 指定的名字资源绑定到一个流上。如果 filename 是 "scheme://..." 的格式,则被当成一个 URL,PHP 将搜索协议处理器(也被称为封装协议)来处理此模式。如果该协议尚未注册封装协议,PHP 将发出一条消息来帮助检查脚本中潜在的问题并将 filename 当成一个普通的文件名继续执行下去。
如果 PHP 认为 filename 指定的是一个本地文件,将尝试在该文件上打开一个流。该文件必须是 PHP 可以访问的,因此需要确认文件访问权限允许该访问。如果激活了安全模式或者 open_basedir 则会应用进一步的限制。
如果 PHP 认为 filename 指定的是一个已注册的协议,而该协议被注册为一个网络 URL,PHP 将检查并确认 allow_url_fopen 已被激活。如果关闭了,PHP 将发出一个警告,而 fopen 的调用则失败。
对 context 的支持是 PHP 5.0.0 添加的。
提示和注释
注释:为移植性考虑,强烈建议在用 fopen() 打开文件时总是使用 "b" 标记。
2.打开这个文件以后,对这个文件进行读取.这里用到了PHP ->fread();函数
定义和用法
fread() 函数读取文件(可安全用于二进制文件)。
函数原型:
fread(file,length) //备注:我才知道.这个函数获取到的文件是按字节(Byte)来计算文件大小的....
https://3water.com/w3school/php/func_filesystem_fread.asp.htm
说明
fread() 从文件指针 file 读取最多 length 个字节。该函数在读取完最多 length 个字节数,或到达 EOF 的时候,或(对于网络流)当一个包可用时,或(在打开用户空间流之后)已读取了 8192 个字节时就会停止读取文件,视乎先碰到哪种情况。
返回所读取的字符串,如果出错返回 false。
提示和注释
提示:如果只是想将一个文件的内容读入到一个字符串中,请使用 file_get_contents(),它的性能比 fread() 好得多。
例子 1
从文件中读取 10 个字节:

<?php 
$file = fopen("test.txt","r"); 
fread($file,"10"); 
fclose($file); 
?> 
<?php $file = fopen("test.txt","r"); fread($file,"10"); fclose($file); ?>

例子 2
读取整个文件:
<?php 
$file = fopen("test.txt","r"); 
fread($file,filesize("test.txt")); 
fclose($file); 
?> 
<?php $file = fopen("test.txt","r"); fread($file,filesize("test.txt")); fclose($file); ?>

3.开始替换模板变量.这里用到了PHP->str_replace();函数
定义和用法
str_replace() 函数使用一个字符串替换字符串中的另一些字符。
函数原型:
str_replace(find,replace,string,count)
https://3water.com/w3school/php/func_string_str_replace.asp.htm
提示和注释
注释:该函数对大小写敏感。请使用 str_ireplace() 执行对大小写不敏感的搜索。
注释:该函数是二进制安全的。
3.替换模板变量后.使用PHP->echo();函数进行输出
编码部分:
$title="测试标题"; 
$file="测试内容"; 
//打开这个模板 
$tempdata=fopen("test.html","r"); 
//读取模板中的内容 
$str=fread($tempdata,filesize("test.html")); 
//替换模板中的内容 
$str=str_replace('{$title}',$title,$str); 
$str=str_replace('{$center}',$file,$str); 
//输出 
echo $str;
PHP 相关文章推荐
相对路径转化成绝对路径
Apr 10 PHP
php getimagesize 上传图片的长度和宽度检测代码
May 15 PHP
php 随机排序广告的实现代码
May 09 PHP
一个不易被发现的PHP后门代码解析
Jul 05 PHP
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
Oct 30 PHP
PHP中error_log()函数的使用方法
Jan 20 PHP
Symfony2联合查询实现方法
Mar 18 PHP
CI框架文件上传类及图像处理类用法分析
May 18 PHP
PHP对象克隆clone用法示例
Sep 28 PHP
PHP实现多关键字加亮功能
Oct 21 PHP
php面试实现反射注入的详细方法
Sep 30 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
May 27 PHP
PHP 开源AJAX框架14种
Aug 24 #PHP
PHP 开源框架22个简单简介
Aug 24 #PHP
php xml留言板 xml存储数据的简单例子
Aug 24 #PHP
建站常用13种PHP开源CMS比较
Aug 23 #PHP
怎样去阅读一份php源代码
Aug 21 #PHP
php win下Socket方式发邮件类
Aug 21 #PHP
Discuz 模板语句分析及知识技巧
Aug 21 #PHP
You might like
重置版游戏视频
2020/04/09 魔兽争霸
《PHP编程最快明白》第四讲:日期、表单接收、session、cookie
2010/11/01 PHP
解析yahoo邮件用phpmailer发送的实例
2013/06/24 PHP
php中实现可以返回多个值的函数实例
2015/03/21 PHP
php中简单的对称加密算法实现
2017/01/05 PHP
PHP中类的自动加载的方法
2017/03/17 PHP
PHP调用QQ互联接口实现QQ登录网站功能示例
2019/10/24 PHP
seajs1.3.0源码解析之module依赖有序加载
2012/11/07 Javascript
JS实现闪动的title消息提醒效果
2014/06/20 Javascript
js实现上传图片及时预览
2016/05/07 Javascript
BootStrap的JS插件之轮播效果案例详解
2016/05/16 Javascript
jquery实现ajax加载超时提示的方法
2016/07/23 Javascript
JS html时钟制作代码分享
2017/03/03 Javascript
简易Vue评论框架的实现(父组件的实现)
2018/01/08 Javascript
JS实现图片上传多次上传同一张不生效的处理方法
2018/08/06 Javascript
Antd中单个DatePicker限定时间输入范围操作
2020/10/29 Javascript
[38:30]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第一场2
2014/05/24 DOTA
[01:02:02]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第二局
2016/02/25 DOTA
用Python中的__slots__缓存资源以节省内存开销的方法
2015/04/02 Python
python学习之第三方包安装方法(两种方法)
2015/07/30 Python
Python 详解基本语法_函数_返回值
2017/01/22 Python
Python换行与不换行的输出实例
2020/02/19 Python
CSS3绘制圆角矩形的简单示例
2015/09/28 HTML / CSS
进程的查看和调度分别使用什么命令
2013/12/14 面试题
市场营销专业毕业生自荐信
2013/11/02 职场文书
播音主持女孩的自我评价分享
2013/11/20 职场文书
火锅店营销方案
2014/02/26 职场文书
房地产推广策划方案
2014/05/19 职场文书
中学教师师德承诺书
2014/05/23 职场文书
群众路线对照检查材料
2014/09/22 职场文书
情人节单身感言
2015/08/03 职场文书
爱护公物主题班会
2015/08/17 职场文书
高二数学教学反思
2016/02/18 职场文书
2019年让高校“心动”的自荐信
2019/03/25 职场文书
开网店计划分析
2019/07/30 职场文书
Vue的过滤器你真了解吗
2022/02/24 Vue.js