生成php程序的php代码


Posted in PHP onApril 07, 2008

 

一个.php文件,包含程序开始符(),具体代码则放置在开始符和结束符之间。为了方便日后修改和程序读取,习惯上代码应当按照一定的规定分行,而php代码必定少不了变量标记符($)。这些,都给生成.php文件带来一定的麻烦,处理它们需要一些变通方式。

我们先来处理php程序文件的开始符和结束符,这个不太复杂,我们用两个变量来表示它们:

$str_tmp="<?php";  //开始符。$str_tmp为即将累加的变量。
$str_end="?>";     //结束符。$str_end为独立变量。

下面来处理变量标记符($),设我们将在生成的.php文件里存在一个这样的变量等式:$age="28";。代码如下:

$str="$"."age=\"28\";\r\n";

上式里,打印变量 $str 将得到预期的效果。代码中,$和age要分开并用连接号(.)将其组合才能得到 $age 的效果;符号(\")表示小解双引号(");php代码一行结束要有分号(;);\r\n则表示打个回车另起一行。

以上我们解决了php代码起始符、结束符及代码变量标志和等式等输入问题,现在就可以具体进入生成.php文件的操作了。为了让程序看起来像个样子,我们预设一下即将生成的.php文件的内容:用户名(黑马)、登录密码(blackhorse)、年龄(28)、收入(4500)。以下是生成.php文件的完整代码:

<?php // -- test.php -- //

//搜集资料
$str_tmp="<?php\r\n"; //得到php的起始符。$str_tmp将累加
$str_end="?>"; //php结束符
$str_tmp.="$"."name=\"黑马\";\r\n"; //加入用户名
$str_tmp.="$"."pass=\"blackhorse\";\r\n"; //加入密码
$str_tmp.="$"."age=\"28\";\r\n"; //加入年龄
$str_tmp.="$"."income=\"4500\";\r\n";
$str_tmp.=$str_end; //加入结束符

//保存文件
$sf="blhorse.php"; //文件名
$fp=fopen($sf,"w"); //写方式打开文件
fwrite($fp,$str_tmp); //存入内容
fclose($fp); //关闭文件

?>

把上述代码保存为一个名为 test.php 的文件,运行它,将得到 blhorse.php 文件,该文件的完整内容如下:

<?php
$name="黑马";
$pass="blackhorse";
$age="28";
$income="4500";
?>

可以看得出来,我们得到的是一个相当标准的.php配置类文件,完全符合我们的要求。至于要写更复杂的.php文件,只要像本文代码所显示的那样处理好变量的赋值和变量的累加,实现起来就变得相当容易。

PHP 相关文章推荐
基于mysql的bbs设计(一)
Oct 09 PHP
在PHP3中实现SESSION的功能(一)
Oct 09 PHP
MySQL 日期时间函数常用总结
Jun 12 PHP
解析PHP中的file_get_contents获取远程页面乱码的问题
Jun 25 PHP
PHP $_FILES中error返回值详解
Jan 30 PHP
实现PHP+Mysql无限分类的方法汇总
Mar 02 PHP
PHP中通过trigger_error触发PHP错误示例
Jun 23 PHP
PHP直接修改表内容DataGrid功能实现代码
Sep 24 PHP
Yii2增加验证码步骤详解
Apr 25 PHP
PHP Socket网络操作类定义与用法示例
Aug 30 PHP
PHP7匿名类的用法示例
Apr 05 PHP
Laravel-添加后台模板AdminLte的实现方法
Oct 08 PHP
用php获取远程图片并把它保存到本地的代码
Apr 07 #PHP
在php MYSQL中插入当前时间
Apr 06 #PHP
php读取30天之内的根据算法排序的代码
Apr 06 #PHP
PHP实现Socket服务器的代码
Apr 03 #PHP
mysql+php分页类(已测)
Mar 31 #PHP
PHP 数字左侧自动补0
Mar 31 #PHP
加强版phplib的DB类
Mar 31 #PHP
You might like
PHP 飞信好友免费短信API接口开源版
2010/07/22 PHP
php另类上传图片的方法(PHP用Socket上传图片)
2013/10/30 PHP
php判断文件上传类型及过滤不安全数据的方法
2014/12/17 PHP
php实现ip白名单黑名单功能
2015/03/12 PHP
汇总PHPmailer群发Gmail的常见问题
2016/02/24 PHP
javascript Discuz代码中的msn聊天小功能
2008/05/25 Javascript
js实现的日期操作类DateTime函数代码
2010/03/16 Javascript
javascript 验证日期的函数
2010/03/18 Javascript
javascript实现焦点滚动图效果 具体方法
2013/06/24 Javascript
解析jQuery的三种bind/One/Live事件绑定使用方法
2013/12/30 Javascript
JavaScript 开发工具webstrom使用指南
2014/12/09 Javascript
node.js中的fs.fstat方法使用说明
2014/12/15 Javascript
利用JavaScript脚本实现滚屏效果的方法
2015/07/07 Javascript
JQ实现新浪游戏首页幻灯片
2015/07/29 Javascript
JS Attribute属性操作详解
2016/05/19 Javascript
微信小程序 video组件详解
2016/10/25 Javascript
浅谈Node.js:理解stream
2016/12/08 Javascript
神级程序员JavaScript300行代码搞定汉字转拼音
2017/05/20 Javascript
JavaScript实现三级联动菜单效果
2017/08/16 Javascript
Angular2+如何去除url中的#号详解
2017/12/20 Javascript
vue学习教程之带你一步步详细解析vue-cli
2017/12/26 Javascript
JS随机数产生代码分享
2018/02/24 Javascript
Vue源码解析之数组变异的实现
2018/12/04 Javascript
JS实现无限轮播无倒退效果
2020/09/21 Javascript
[02:33]2014DOTA2 TI每日综述 LGD涉险晋级DK闯入胜者组
2014/07/14 DOTA
Python ZipFile模块详解
2013/11/01 Python
利用Python如何将数据写到CSV文件中
2018/06/05 Python
python实现用户名密码校验
2020/03/18 Python
美国波西米亚风格服装品牌:Show Me Your Mumu
2018/01/05 全球购物
速卖通欧盟:Aliexpress EU
2020/08/19 全球购物
简历中个人自我评价分享
2014/03/15 职场文书
美食节策划方案
2014/05/26 职场文书
员工安全责任书范本
2014/07/24 职场文书
房屋买卖协议书范本
2014/09/27 职场文书
高中生综合素质自我评价
2015/03/06 职场文书
关于ObjectUtils.isEmpty() 和 null 的区别
2022/02/28 Java/Android