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 5.0对象模型深度探索之对象复制
Mar 27 PHP
php中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之间的区别
Sep 05 PHP
PHP 引用文件技巧
Mar 02 PHP
PHP中冒号、endif、endwhile、endfor使用介绍
Apr 28 PHP
php 多关键字 高亮显示实现代码
Apr 23 PHP
实例介绍PHP的Reflection反射机制
Aug 05 PHP
ci检测是ajax还是页面post提交数据的方法
Nov 10 PHP
php绘制一个矩形的方法
Jan 24 PHP
php使用Jpgraph绘制柱形图的方法
Jun 10 PHP
php获取当前月与上个月月初及月末时间戳的方法
Dec 05 PHP
php连接MSsql server的五种方法总结
Mar 04 PHP
PHP程序员简单的开展服务治理架构操作详解(一)
May 14 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设计模式之观察者模式(Observer)详细介绍和代码实例
2014/04/08 PHP
php array_map使用自定义的函数处理数组中的每个值
2016/10/26 PHP
PHP设计模式(三)建造者模式Builder实例详解【创建型】
2020/05/02 PHP
javascript iframe内的函数调用实现方法
2009/07/19 Javascript
javascript object array方法使用详解
2012/12/03 Javascript
JS在textarea光标处插入文本的小例子
2013/03/22 Javascript
一个JavaScript防止表单重复提交的实例
2014/10/21 Javascript
AngularJS基础学习笔记之表达式
2015/05/10 Javascript
如何用jQuery实现ASP.NET GridView折叠伸展效果
2015/09/26 Javascript
使用pcs api往免费的百度网盘上传下载文件的方法
2016/03/17 Javascript
BootStrap组件之进度条的基本用法
2017/01/19 Javascript
通过npm引用的vue组件使用详解
2017/03/02 Javascript
关于HTML5的data-*自定义属性的总结
2018/05/05 Javascript
超出JavaScript安全整数限制的数字计算BigInt详解
2018/06/24 Javascript
RequireJS用法简单示例
2018/08/20 Javascript
vue2.0 下拉框默认标题设置方法
2018/08/22 Javascript
vue实现一个6个输入框的验证码输入组件功能的实例代码
2020/06/29 Javascript
Vue全局使用less样式,组件使用全局样式文件中定义的变量操作
2020/10/21 Javascript
Python2.x版本中基本的中文编码问题解决
2015/10/12 Python
python实现简单点对点(p2p)聊天
2017/09/13 Python
python使用Apriori算法进行关联性解析
2017/12/21 Python
Python下利用BeautifulSoup解析HTML的实现
2020/01/17 Python
python mysql 字段与关键字冲突的解决方式
2020/03/02 Python
Django model重写save方法及update踩坑详解
2020/07/27 Python
基于python实现图片转字符画代码实例
2020/09/04 Python
python中turtle库的简单使用教程
2020/11/11 Python
法律专业推荐信范文
2013/11/29 职场文书
保安公司服务承诺书
2014/05/28 职场文书
低碳日宣传活动总结
2014/07/09 职场文书
领导干部四风问题自我剖析材料
2014/09/25 职场文书
幼儿园个人师德总结
2015/02/06 职场文书
感恩教育观后感
2015/06/17 职场文书
葬礼主持词
2015/07/02 职场文书
重阳节活动主持词
2015/07/04 职场文书
党员反四风学习心得体会
2016/01/22 职场文书
golang goroutine顺序输出方式
2021/04/29 Golang