生成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 相关文章推荐
第四节 构造函数和析构函数 [4]
Oct 09 PHP
如何在PHP中使用Oracle数据库(3)
Oct 09 PHP
mysql 中InnoDB和MyISAM的区别分析小结
Apr 15 PHP
PHP syntax error, unexpected $end 错误的一种原因及解决
Oct 25 PHP
解析php函数method_exists()与is_callable()的区别
Jun 21 PHP
查找php配置文件php.ini所在路径的二种方法
May 26 PHP
PHP正则表达式替换站点关键字链接后空白的解决方法
Sep 16 PHP
PHP中ini_set与ini_get用法实例
Nov 04 PHP
ThinkPHP框架实现数据增删改
May 07 PHP
Thinkphp5结合layer弹窗定制操作结果页面
Jul 07 PHP
PHP的PDO预处理语句与存储过程
Jan 27 PHP
解决laravel中日志权限莫名变成了root的问题
Oct 17 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判断是否是微信打开,浏览器打开的方法
2018/03/14 PHP
一个分享按钮的插件使用介绍(可扩展,内附开发制作流程)
2011/09/19 Javascript
一样的table?不一样的table(可编辑状态table)
2012/09/19 Javascript
jquery复选框多选赋值给文本框的方法
2015/01/27 Javascript
JavaScript随机打乱数组顺序之随机洗牌算法
2016/08/02 Javascript
WEB前端实现裁剪上传图片功能
2016/10/17 Javascript
Node.js对MongoDB数据库实现模糊查询的方法
2017/05/03 Javascript
jQuery实现的回车触发按钮事件功能示例
2018/03/25 jQuery
《javascript少儿编程》location术语总结
2018/05/27 Javascript
解决angularjs前后端分离调用接口传递中文时中文乱码的问题
2018/08/13 Javascript
详解vue-cli@2.x项目迁移日志
2019/06/06 Javascript
vue项目实现多语言切换的思路
2020/09/17 Javascript
VUE 项目在IE11白屏报错 SCRIPT1002: 语法错误的解决
2020/09/27 Javascript
[08:40]Navi Vs Newbee
2018/06/07 DOTA
零基础写python爬虫之抓取百度贴吧代码分享
2014/11/06 Python
Python读取一个目录下所有目录和文件的方法
2016/07/15 Python
Python Datetime模块和Calendar模块用法实例分析
2019/04/15 Python
解决Python内层for循环如何break出外层的循环的问题
2019/06/24 Python
python能做什么 python的含义
2019/10/12 Python
pycharm设置python文件模板信息过程图解
2020/03/10 Python
Pycharm配置PyQt5环境的教程
2020/04/02 Python
Python使用Selenium模拟浏览器自动操作功能
2020/09/08 Python
浅谈关于html5中图片抛物线运动的一些心得
2018/01/09 HTML / CSS
荷兰包包购物网站:The Little Green Bag
2018/03/17 全球购物
经济实惠的名牌太阳镜和眼镜:Privé Revaux
2021/02/07 全球购物
超市中秋节活动方案
2014/02/12 职场文书
二手房购房意向书范本
2014/04/01 职场文书
暑期社会实践先进个人主要事迹
2014/05/22 职场文书
2014社会治安综合治理工作总结
2014/12/04 职场文书
考研英语辞职信
2015/05/13 职场文书
工程进度款催款函
2015/06/24 职场文书
入党申请书格式
2019/06/20 职场文书
《分一些蚊子进来》读后感3篇
2020/01/09 职场文书
如何使用Python对NetCDF数据做空间相关分析
2021/04/21 Python
MySQL安装后默认自带数据库的作用详解
2021/04/27 MySQL
Python尝试实现蒙特卡罗模拟期权定价
2022/04/21 Python