生成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 相关文章推荐
第二节 对象模型 [2]
Oct 09 PHP
VML绘图板②脚本--VMLgraph.js、XMLtool.js
Oct 09 PHP
追求程序速度,而不是编程的速度
Apr 23 PHP
discuz论坛 用户登录 后台程序代码
Nov 27 PHP
php include加载文件两种方式效率比较
Aug 08 PHP
php入门学习知识点四 PHP正则表达式基本应用
Jul 14 PHP
PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
Jan 16 PHP
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
Apr 25 PHP
ThinkPHP缓存方法S()概述
Jun 13 PHP
从零开始学YII2框架(二)通过 Composer 安装扩展插件
Aug 20 PHP
PHP crc32()函数讲解
Feb 14 PHP
php遍历目录下文件并按修改时间排序操作示例
Jul 12 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模板引擎Smarty内建函数section,sectionelse用法详解
2016/04/11 PHP
php 时间time与日期date之间的使用详解及区别
2016/11/07 PHP
Yii框架引入coreseek分页功能示例
2019/02/08 PHP
PHP预定义接口――Iterator用法示例
2020/06/05 PHP
创建、调用JavaScript对象的方法集锦
2014/12/24 Javascript
最流行的Node.js精简型和全栈型开发框架介绍
2015/02/26 Javascript
浅谈js对象属性 通过点(.) 和方括号([]) 的不同之处
2016/10/29 Javascript
详解JS: reduce方法实现 webpack多文件入口
2017/02/14 Javascript
基于Vue2实现的仿手机QQ单页面应用功能(接入聊天机器人 )
2017/03/30 Javascript
浅谈node中的exports与module.exports的关系
2017/08/01 Javascript
JS与HTML结合实现流程进度展示条思路详解
2017/09/03 Javascript
javascript 开发之网页兼容各种浏览器
2017/09/28 Javascript
vue2中使用less简易教程
2018/03/27 Javascript
Vue + better-scroll 实现移动端字母索引导航功能
2018/05/07 Javascript
详解jQuery中的easyui
2018/09/02 jQuery
VSCode使用之Vue工程配置eslint
2019/04/30 Javascript
详解uniapp的全局变量实现方式
2021/01/11 Javascript
原生JavaScript实现幻灯片效果
2021/02/19 Javascript
python服务器与android客户端socket通信实例
2014/11/12 Python
Python入门教程之if语句的用法
2015/05/14 Python
python版本坑:md5例子(python2与python3中md5区别)
2017/06/20 Python
Python简单读取json文件功能示例
2017/11/30 Python
浅谈使用Python内置函数getattr实现分发模式
2018/01/22 Python
将python代码和注释分离的方法
2018/04/21 Python
在python win系统下 打开TXT文件的实例
2018/04/29 Python
Python获取航线信息并且制作成图的讲解
2019/01/03 Python
在Python中预先初始化列表内容和长度的实现
2019/11/28 Python
Python实现像awk一样分割字符串
2020/09/15 Python
Dyson加拿大官方网站:购买戴森吸尘器,风扇,冷热器及配件
2016/10/26 全球购物
新秀丽官方旗舰店:Samsonite拉杆箱、双肩包、皮具
2018/03/05 全球购物
Otticanet意大利:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/03/10 全球购物
校长师德师风自我剖析材料
2014/09/29 职场文书
群众路线问题查摆对照检查材料
2014/10/04 职场文书
合理化建议书
2015/02/04 职场文书
2016年学校招生广告语
2016/01/28 职场文书
2016年优秀团支部事迹材料
2016/02/26 职场文书