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 相关文章推荐
在windows iis5下安装php4.0+mysql之我见
Oct 09 PHP
Google Voice 短信发送接口PHP开源版(2010.5更新)
Jul 22 PHP
PHP-redis中文文档介绍
Feb 07 PHP
基于php权限分配的实现代码
Apr 28 PHP
PHP 通过Socket收发十六进制数据的实现代码
Aug 16 PHP
php截取字符串函数substr,iconv_substr,mb_substr示例以及优劣分析
Jun 10 PHP
PHP上传文件时自动分配路径的方法
Jan 09 PHP
Java和PHP在Web开发方面对比分析
Mar 01 PHP
php生成gif动画的方法
Nov 05 PHP
详解php中 === 的使用
Oct 24 PHP
PHP使用file_get_contents发送http请求功能简单示例
Apr 29 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
May 23 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如何编写易读的代码
2007/07/10 PHP
php递归删除目录下的文件但保留的实例分享
2014/05/10 PHP
php获取字符串中各个字符出现次数的方法
2015/02/23 PHP
PHP获取当前文件的父目录方法汇总
2016/07/21 PHP
JavaScript静态的动态
2006/09/18 Javascript
收集的网上用的ajax之chat.js文件
2007/04/08 Javascript
JavaScript监测ActiveX控件是否已经安装过的代码
2008/09/02 Javascript
遍历DOM对象内的元素属性示例代码
2014/02/08 Javascript
原生javascript实现简单的datagrid数据表格
2015/01/02 Javascript
运行Node.js的IIS扩展iisnode安装配置笔记
2015/03/02 Javascript
JS组件Bootstrap ContextMenu右键菜单使用方法
2016/04/17 Javascript
Angularjs中UI Router的使用方法
2016/05/14 Javascript
JS实现的相册图片左右滚动完整实例
2016/11/23 Javascript
jq给页面添加覆盖层遮罩的实例
2017/02/16 Javascript
深入理解jquery的$.extend()、$.fn和$.fn.extend()
2017/07/08 jQuery
Node做中转服务器转发接口
2017/10/18 Javascript
浅谈关于JS下大批量异步任务按顺序执行解决方案一点思考
2019/01/08 Javascript
NodeJs操作MongoDB教程之分页功能以及常见问题
2019/04/09 NodeJs
ElementUI radio组件选中小改造
2019/08/12 Javascript
春节到了 教你使用python来抢票回家
2020/01/06 Python
Python实现i人事自动打卡的示例代码
2020/01/09 Python
django xadmin 管理器常用显示设置方式
2020/03/11 Python
jupyter 导入csv文件方式
2020/04/21 Python
英国文具、办公用品和科技商店:Ryman
2018/09/27 全球购物
.NET笔试题(20个问题)
2016/02/02 面试题
高校教师思想汇报
2014/01/11 职场文书
建材投资建议书
2014/05/16 职场文书
装修施工安全责任书
2014/07/24 职场文书
干部作风整顿个人剖析材料
2014/10/06 职场文书
遗失说明具结保证书
2015/02/26 职场文书
试用期工作表现自我评价
2015/03/06 职场文书
投诉信回复范文
2015/07/03 职场文书
2016年感恩父亲节活动总结
2016/04/01 职场文书
CSS3实现的文字弹出特效
2021/04/16 HTML / CSS
vue+iview实现手机号分段输入框
2022/03/25 Vue.js
Python可视化神器pyecharts之绘制箱形图
2022/07/07 Python