生成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 相关文章推荐
PHPShop存在多个安全漏洞
Oct 09 PHP
php 中的str_replace 函数总结
Apr 27 PHP
PHP中register_globals参数为OFF和ON的区别(register_globals 使用详解)
Feb 05 PHP
Windows下的PHP安装文件线程安全和非线程安全的区别
Apr 23 PHP
解决yii2左侧菜单子级无法高亮问题的方法
May 08 PHP
php 使用html5实现多文件上传实例
Oct 24 PHP
thinkphp jquery实现图片上传和预览效果
Jul 22 PHP
PHP在linux上执行外部命令的方法
Feb 06 PHP
几行代码轻松实现PHP文件打包下载zip
Mar 01 PHP
thinkPHP5.0框架命名空间详解
Mar 18 PHP
使用git迁移Laravel项目至新开发环境的步骤详解
Apr 06 PHP
基于php+MySql实现学生信息管理系统实例
Aug 04 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
第五节--克隆
2006/11/16 PHP
让PHP支持断点续传的源码
2010/05/16 PHP
将word转化为swf 如同百度文库般阅读实现思路及代码
2013/08/09 PHP
thinkPHP5实现数据库添加内容的方法
2017/10/25 PHP
实例介绍PHP中zip_open()函数用法
2019/02/15 PHP
css图片自适应大小
2007/11/28 Javascript
jQuery对象数据缓存Cache原理及jQuery.data方法区别介绍
2013/04/07 Javascript
js通过元素class名字获取元素集合的具体实现
2014/01/06 Javascript
js中settimeout方法加参数
2014/02/28 Javascript
淘宝网提供的国内NPM镜像简介和使用方法
2014/04/17 Javascript
js表单中选择框值的获取及表单的序列化
2015/12/17 Javascript
jQuery隐藏和显示效果实现
2016/04/06 Javascript
详解JavaScript中基于原型prototype的继承特性
2016/05/05 Javascript
jQuery过滤选择器用法示例
2016/09/12 Javascript
使用JS读取XML文件的方法
2016/11/25 Javascript
鼠标拖动改变DIV等网页元素的大小的实现方法
2017/07/06 Javascript
js使用文件流下载csv文件的实现方法
2019/07/15 Javascript
Python第三方库的安装方法总结
2016/06/06 Python
python连接mysql实例分享
2016/10/09 Python
python DataFrame获取行数、列数、索引及第几行第几列的值方法
2018/04/08 Python
Pycharm同步远程服务器调试的方法步骤
2020/11/04 Python
CSS3实现超慢速移动动画效果非常流畅无卡顿
2014/06/15 HTML / CSS
美国体育用品商店:Paragon Sports
2017/10/08 全球购物
澳大利亚办公室装修:JasonL Office Furniture
2019/06/25 全球购物
美国基督教约会网站:ChristianCafe.com
2020/02/04 全球购物
值类型与引用类型有什么不同?请举例说明?并分别列举几种相应的数据类型
2015/10/24 面试题
业绩考核岗位职责
2014/02/01 职场文书
车间安全生产标语
2014/06/06 职场文书
报考公务员诚信承诺书
2014/08/29 职场文书
国庆65周年演讲稿:回首往昔,展望未来
2014/09/21 职场文书
买卖合同协议书范本
2014/10/18 职场文书
Nginx同一个域名配置多个项目的实现方法
2021/03/31 Servers
nginx里的rewrite跳转的实现
2021/03/31 Servers
解决redis sentinel 频繁主备切换的问题
2021/04/12 Redis
Redis数据结构之链表与字典的使用
2021/05/11 Redis
Feign调用传输文件异常的解决
2021/06/24 Java/Android