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 相关文章推荐
十天学会php之第十天
Oct 09 PHP
无数据库的详细域名查询程序PHP版(1)
Oct 09 PHP
NO3第三帝国留言簿制作过程
Oct 09 PHP
php GD绘制24小时柱状图
Jun 28 PHP
php中json_encode中文编码问题分析
Sep 13 PHP
PHP下判断网址是否有效的代码
Oct 08 PHP
PHP获得数组交集与差集的方法
Jun 10 PHP
基于php实现七牛抓取远程图片
Dec 01 PHP
php+Ajax处理xml与json格式数据的方法示例
Mar 04 PHP
启用OPCache提高PHP程序性能的方法
Mar 21 PHP
thinkPHP5.1框架路由::get、post请求简单用法示例
May 06 PHP
thinkphp5.1框架中容器(Container)和门面(Facade)的实现方法分析
Aug 05 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
php中使用url传递数组的方法
2015/02/11 PHP
PHP开发中AJAX技术的简单应用
2015/12/11 PHP
php.ini中date.timezone设置详解
2016/11/20 PHP
PHP调用微博接口实现微博登录的方法示例
2018/09/22 PHP
麦鸡的TAB切换功能结合了javascript和css
2007/12/17 Javascript
jquery.lazyload  实现图片延迟加载jquery插件
2010/02/06 Javascript
js正文内容高亮效果的实现方法
2013/06/30 Javascript
JS组件Bootstrap实现下拉菜单效果代码
2016/04/26 Javascript
NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法
2016/07/26 NodeJs
浅谈JS正则表达式的RegExp对象和括号的使用
2016/07/28 Javascript
Javascript实现代码折叠功能
2016/08/25 Javascript
JS实现可编辑的后台管理菜单功能【附demo源码下载】
2016/09/13 Javascript
js遍历json对象所有key及根据动态key获取值的方法(必看)
2017/03/09 Javascript
angular directive的简单使用总结
2017/05/24 Javascript
jQuery动态添加.active 实现导航效果代码思路详解
2017/08/29 jQuery
vue基于viewer实现的图片查看器功能
2019/04/12 Javascript
如何使用CSS3+JQuery实现悬浮墙式菜单
2019/06/18 jQuery
Vue CLI4 Vue.config.js标准配置(最全注释)
2020/06/05 Javascript
VueCli生产环境打包部署跨域失败的解决
2020/11/13 Javascript
[01:31](回顾)杀出重围,决战TI之巅
2014/07/01 DOTA
在python中的socket模块使用代理实例
2014/05/29 Python
python opencv 直方图反向投影的方法
2018/02/24 Python
Python正则表达式和元字符详解
2018/11/29 Python
Python文件常见操作实例分析【读写、遍历】
2018/12/10 Python
python多线程调用exit无法退出的解决方法
2019/02/18 Python
python 通过可变参数计算n个数的乘积方法
2019/06/13 Python
HTML5学习笔记之History API
2015/02/26 HTML / CSS
如何让pre和textarea等HTML元素去掉滚动条自动换行自适应文本内容高度
2019/08/01 HTML / CSS
化验室技术员岗位职责
2013/12/24 职场文书
2015年幼儿园毕业感言
2014/02/12 职场文书
毕业生写求职信的要点
2014/03/04 职场文书
进口业务员岗位职责
2014/04/06 职场文书
关于调整工作时间的通知
2015/04/24 职场文书
uniapp开发小程序的经验总结
2021/04/08 Javascript
python实战之90行代码写个猜数字游戏
2021/04/22 Python
Goland使用Go Modules创建/管理项目的操作
2021/05/06 Golang