生成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 相关文章推荐
PHP中实现图片的锐化
Oct 09 PHP
一个简单的自动发送邮件系统(二)
Oct 09 PHP
vBulletin HACK----关于排版的两个HACK
Oct 09 PHP
php cout&amp;lt;&amp;lt;的一点看法
Jan 24 PHP
rephactor 优秀的PHP的重构工具
Jun 09 PHP
使用PHP遍历文件目录与清除目录中文件的实现详解
Jun 24 PHP
smarty模板判断数组为空的方法
Jun 10 PHP
php实现简单的MVC框架实例
Sep 23 PHP
浅谈使用PHP开发微信支付的流程
Oct 04 PHP
[原创]PHP字符串中插入子字符串方法总结
May 06 PHP
PHP实现数组array转换成xml的方法
Jul 19 PHP
PHP自定义递归函数实现数组转JSON功能【支持GBK编码】
Jul 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个人网站架设连环讲(三)
2006/10/09 PHP
php发送post请求的三种方法
2014/02/11 PHP
WordPress中使主题支持小工具以及添加插件启用函数
2015/12/22 PHP
php获取flash尺寸详细数据的方法
2016/11/12 PHP
PHP单例模式模拟Java Bean实现方法示例
2018/12/07 PHP
TNC vs IO BO3 第二场2.13
2021/03/10 DOTA
JavaScript入门教程(3) js面向对象
2009/01/31 Javascript
jQuery实用基础超详细介绍
2013/04/11 Javascript
jquery提取元素里的纯文本不包含span等里的内容
2013/09/30 Javascript
JS实现的用来对比两个用指定分隔符分割的字符串是否相同
2014/09/19 Javascript
深入浅析JavaScript字符串操作方法 slice、substr、substring及其IE兼容性
2015/12/16 Javascript
jQuery绑定事件-多种实现方式总结
2016/05/09 Javascript
vue.js指令v-model实现方法
2016/12/05 Javascript
微信小程序开发之Tabbar实例详解
2017/01/09 Javascript
基于Require.js使用方法(总结)
2017/10/26 Javascript
详解Vue单元测试Karma+Mocha学习笔记
2018/01/31 Javascript
js删除数组中的元素delete和splice的区别详解
2018/02/03 Javascript
浅谈webpack+react多页面开发终极架构
2018/11/11 Javascript
Electron autoUpdater实现Windows安装包自动更新的方法
2018/12/24 Javascript
vue 项目build错误异常的解决方法
2019/04/22 Javascript
JavaScript RegExp 对象用法详解
2019/09/24 Javascript
简单的Python抓taobao图片爬虫
2014/10/26 Python
python检测文件夹变化,并拷贝有更新的文件到对应目录的方法
2018/10/17 Python
Python创建一个元素都为0的列表实例
2019/11/28 Python
Django框架之中间件MiddleWare的实现
2019/12/30 Python
Python+PyQt5+MySQL实现天气管理系统
2020/06/16 Python
keras和tensorflow使用fit_generator 批次训练操作
2020/07/03 Python
Python如何定义接口和抽象类
2020/07/28 Python
2013年保送生自荐信格式
2013/11/20 职场文书
鼓舞士气的口号
2014/06/16 职场文书
装修施工安全责任书
2014/07/24 职场文书
2014年初三班主任工作总结
2014/12/05 职场文书
邀请函模板
2015/02/02 职场文书
怎样写好演讲稿题目?
2019/08/21 职场文书
详解Oracle块修改跟踪功能
2021/11/07 Oracle
Java 多线程并发FutureTask
2022/06/28 Java/Android