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语法速查表
Dec 06 PHP
php smarty模版引擎中变量操作符及使用方法
Dec 11 PHP
php 深入理解strtotime函数的使用详解
May 23 PHP
PHP的变量类型和作用域详解
Mar 12 PHP
Laravel框架路由配置总结、设置技巧大全
Sep 03 PHP
[原创]解决wincache不支持64位PHP5.5/5.6的问题(提供64位wincache下载)
Jun 22 PHP
php 使用redis锁限制并发访问类示例
Nov 02 PHP
php实现基于pdo的事务处理方法示例
Jul 21 PHP
php删除二维数组中的重复值方法
Mar 12 PHP
php实现支付宝当面付(扫码支付)功能
May 30 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
Feb 21 PHP
win10下 php安装seaslog扩展的详细步骤
Dec 04 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使用递归计算文件夹大小
2014/12/24 PHP
PHP魔术方法使用方法汇总
2016/02/14 PHP
workerman结合laravel开发在线聊天应用的示例代码
2018/10/30 PHP
PHP封装请求类实例分析【基于Yii框架】
2019/10/17 PHP
PHP预定义接口――Iterator用法示例
2020/06/05 PHP
VBS通过WMI监视注册表变动的代码
2011/10/27 Javascript
Textarea根据内容自适应高度
2013/10/28 Javascript
使用js的replace()方法查找字符示例代码
2013/10/28 Javascript
表单元素与非表单元素刷新区别详细解析
2013/11/06 Javascript
浅谈javascript获取元素transform参数
2015/07/24 Javascript
JavaScript的Polymer框架中dom-repeat与VM的相关操作
2015/07/29 Javascript
javascript事件绑定学习要点
2016/03/09 Javascript
JavaScript中的splice方法用法详解
2016/07/20 Javascript
jQuery的ajax和遍历数组json实例代码
2016/08/01 Javascript
jquery.validate表单验证插件使用方法解析
2016/11/07 Javascript
d3.js实现立体柱图的方法详解
2017/04/28 Javascript
javascript实现计算器功能
2020/03/30 Javascript
vue实现轮播图帧率播放
2021/01/26 Vue.js
Python实现优先级队列结构的方法详解
2016/06/02 Python
Python处理PDF及生成多层PDF实例代码
2017/04/24 Python
基于python实现简单日历
2018/07/28 Python
Django实现发送邮件找回密码功能
2019/08/12 Python
python 线性回归分析模型检验标准--拟合优度详解
2020/02/24 Python
python用tkinter实现一个简易能进行随机点名的界面
2020/09/27 Python
python实现简单猜单词游戏
2020/12/24 Python
python爬虫爬取图片的简单代码
2021/01/18 Python
python+selenium实现12306模拟登录的步骤
2021/01/21 Python
python中@contextmanager实例用法
2021/02/07 Python
使用纯HTML5编写一款网页上的时钟的代码分享
2015/11/16 HTML / CSS
HTML5微信播放全屏问题的解决方法
2017/03/09 HTML / CSS
Belle Maison倍美丛官网:日本千趣会旗下邮购网站
2016/07/22 全球购物
Dr. Martens马汀博士官网:马丁靴始祖品牌
2016/10/15 全球购物
计算机系毕业生推荐信
2013/11/06 职场文书
五星级酒店前台接待岗位职责
2015/04/02 职场文书
一文搞懂php的垃圾回收机制
2021/06/18 PHP
mysql通过group by分组取最大时间对应数据的两种有效方法
2022/09/23 MySQL