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 选项及相关信息函数库
Dec 04 PHP
PHP 数组入门教程小结
May 20 PHP
php ignore_user_abort与register_shutdown_function 使用方法
Jun 14 PHP
php根据日期或时间戳获取星座信息和生肖等信息
Oct 20 PHP
Yii全局函数用法示例
Jan 22 PHP
php 查找数组元素提高效率的方法详解
May 05 PHP
Laravel框架路由设置与使用示例
Jun 12 PHP
php代码调试利器firephp安装与使用方法分析
Aug 21 PHP
php下的原生ajax请求用法实例分析
Feb 28 PHP
利用PHP计算有多少小于当前数字的数字方法示例
Aug 26 PHP
thinkphp5 路由分发原理
Mar 18 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 empty函数判断mysql表单是否为空
2010/04/12 PHP
PHP 杂谈《重构-改善既有代码的设计》之四 简化条件表达式
2012/04/09 PHP
域名和cookie问题(域名后缀)
2012/10/10 PHP
Laravel框架学习笔记(二)项目实战之模型(Models)
2014/10/15 PHP
yii实现使用CUploadedFile上传文件的方法
2015/12/28 PHP
PHP上传图片类显示缩略图功能
2016/06/30 PHP
jquery队列queue与原生模仿其实现方法分享
2014/03/25 Javascript
jquery map方法使用示例
2014/04/23 Javascript
详解JavaScript基本类型和引用类型
2015/12/09 Javascript
详解JavaScript设计模式开发中的桥接模式使用
2016/05/18 Javascript
JavaScript DOM 对象深入了解
2016/07/20 Javascript
JS实现图片高斯模糊切换效果的焦点图实例
2017/01/21 Javascript
vue+vux实现移动端文件上传样式
2017/07/28 Javascript
Vue按需加载的具体实现
2017/12/02 Javascript
微信小程序登录态和检验注册过没的app.js写法
2019/05/22 Javascript
深入理解 ES6中的 Reflect用法
2020/07/18 Javascript
Vue 解决在element中使用$notify在提示信息中换行问题
2020/11/11 Javascript
json.stringify()与json.parse()的区别以及用处
2021/01/25 Javascript
用python实现的去除win下文本文件头部BOM的代码
2013/02/10 Python
归纳整理Python中的控制流语句的知识点
2015/04/14 Python
用ReactJS和Python的Flask框架编写留言板的代码示例
2015/12/19 Python
Python使用PIL模块生成随机验证码
2017/11/21 Python
python实现二叉查找树实例代码
2018/02/08 Python
Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
2018/02/23 Python
解决nohup重定向python输出到文件不成功的问题
2018/05/11 Python
使用Python快速搭建HTTP服务和文件共享服务的实例讲解
2018/06/04 Python
利用Python校准本地时间的方法教程
2019/10/31 Python
CSS3制作圆形滚动进度条动画的示例
2020/11/05 HTML / CSS
公司营业员的自我评价
2014/03/04 职场文书
生物学专业求职信
2014/07/23 职场文书
购房公证委托书(2014版)
2014/09/12 职场文书
出纳试用期自我评价
2015/03/10 职场文书
2015年学校精神文明工作总结
2015/05/27 职场文书
导游词之丽江普济寺
2019/10/22 职场文书
Tomcat用户管理的优化配置详解
2022/03/31 Servers
Rust中的Struct使用示例详解
2022/08/14 Javascript