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 相关文章推荐
跟我学小偷程序之成功偷取首页(第三天)
Oct 09 PHP
PHP cron中的批处理
Sep 16 PHP
据说是雅虎的一份PHP面试题附答案
Jan 07 PHP
兼容性比较好的PHP生成缩略图的代码
Jan 12 PHP
Look And Say 序列php实现代码
May 22 PHP
php 面试碰到过的问题 在此做下记录
Jun 09 PHP
Php中用PDO查询Mysql来避免SQL注入风险的方法
Apr 25 PHP
深入PHP与浏览器缓存的分析
Jun 03 PHP
如何解决CI框架的Disallowed Key Characters错误提示
Jul 05 PHP
php使用imagick模块实现图片缩放、裁剪、压缩示例
Apr 17 PHP
Linux平台php命令行程序处理管道数据的方法
Nov 10 PHP
ajax调用返回php接口返回json数据的方法(必看篇)
May 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实现ping
2006/10/09 PHP
PHP生成静态页面详解
2006/12/05 PHP
PHP-MySQL教程归纳总结
2008/06/07 PHP
php UTF8 文件的签名问题
2009/10/30 PHP
Linux环境下php实现给网站截图的方法
2016/05/03 PHP
利用Ext Js生成动态树实例代码
2008/09/08 Javascript
JavaScript 题型问答有答案参考
2010/02/17 Javascript
JavaScript中继承的一些示例方法与属性参考
2010/08/07 Javascript
新手常遇到的一些jquery问题整理
2010/08/16 Javascript
Jquery下:nth-child(an+b)的使用注意
2011/05/28 Javascript
js验证模型自我实现的具体方法
2013/06/21 Javascript
面向对象继承实例(a如何继承b问题)(自写)
2013/07/01 Javascript
Js实现滚动变色的文字效果
2014/06/16 Javascript
JavaScript组件开发完整示例
2015/12/15 Javascript
js和jquery分别验证单选框、复选框、下拉框
2015/12/17 Javascript
BootStrap Typeahead自动补全插件实例代码
2016/08/10 Javascript
详解javascript常用工具类的封装
2018/01/30 Javascript
在vue-cli 3中给stylus、sass样式传入共享的全局变量
2019/08/12 Javascript
Python中的迭代器漫谈
2015/02/03 Python
Python正则表达式教程之二:捕获篇
2017/03/02 Python
Python-copy()与deepcopy()区别详解
2019/07/12 Python
Django如何使用jwt获取用户信息
2020/04/21 Python
Numpy一维线性插值函数的用法
2020/04/22 Python
解决Python Matplotlib绘图数据点位置错乱问题
2020/05/16 Python
html5 横向滑动导航栏的方法示例
2020/05/08 HTML / CSS
Happy Socks英国官网:购买五颜六色的袜子
2020/11/03 全球购物
2014年上半年工作自我评价
2014/01/18 职场文书
《雨霖铃》教学反思
2014/02/22 职场文书
交通安全寄语大全
2014/04/08 职场文书
学习十八大的心得体会
2014/09/12 职场文书
军人离婚协议书样本
2014/10/21 职场文书
团员个人总结
2015/02/26 职场文书
高三生物教学反思
2016/02/22 职场文书
python 如何用map()函数创建多线程任务
2021/04/07 Python
解决mysql的int型主键自增问题
2021/07/15 MySQL
JavaWeb Servlet开发注册页面实例
2022/04/11 Java/Android