| 添加到收藏夹 | 返回目录页 | 上一篇:PHP 的配置详细选项 |
PHP + BAT 制作PHP自解析批处理
关于标题:PHP + BAT 制作PHP自解析批处理就是,一个BAT文件,内部包含了DOS的BAT批处理代码和PHP的CLI的代码。
因为后缀名为BAT,所以在WIndows系统上面,我点他,他就可以自动运行
因为我做了一些对PHP的特殊处理,因而它又能自己使用PHP的CLI来解析自己所包含的PHP指令。
有何用途:
例如你要做一个PHP-CLI的发行包,那么你可以参照这个脚本来做你自己的安装程序。
代码原文:
filename: phpbat.bat
[code:1:e6cfde5612]
@REM<?php
@REM ==@#
@SET PHPCLI=F:\usr\local\php4\php.exe
@REM PHPCLI表示你的CLI模式的php.exe的路径
@%PHPCLI% %0
@goto :EOF
@REM@#;?>
<?php
echo "\rHello World";
exec("pause");
?>
[/code:1:e6cfde5612]
一点说明,巧妙的运用了BAT批处理的REM指令和PHP的@#@#定义字符串的方式,使得二者混合一体,而又互补干扰。
另外一点说明:
刚才在一个QQ群里,给出这个命题,居然有人说落后的技术,闲着没有事情可做,居然说就喜欢吗我这样子垃圾的人,没办法,好的东西我要共享给大家。
参考:ActivePerl的WIndows Zip Packge的Installer.bat
| bkkkd 回复于:2005-04-09 09:04:18 |
| 有意思,但不是很明白! |
| HonestQiao 回复于:2005-04-09 23:48:10 |
| 也就是,怎么样让批处理代码和PHP代码整合到一个文件,其后缀名为BAT,那么它可以运行自身的BAT代码,然后由BAT代码来调用PHP-CLI运行自身的PHP代码。 |
| dualface 回复于:2005-04-10 23:57:56 |
| 好文!有创意! 关键就是: @REM <?php 以及 @%PHPCLI% %0 @goto :EOF :em03: |
| henkoo 回复于:2005-04-12 10:25:31 |
| 偶这里似乎要加上ob_flush才好一些 [code:1:b4a62b2f1b] @REM<?php @REM ==@# @SET PHPCLI=F:\php\php.exe @REM PHPCLI表示你的CLI模式的php.exe的路径 @%PHPCLI% %0 @goto :EOF @REM@#;?> <?php echo "\rHello World"; ob_flush(); exec("pause"); ?> [/code:1:b4a62b2f1b] |
| bluedoor007 回复于:2005-04-12 18:44:23 |
| 不错!看了之后非常有收获, |
| HonestQiao 回复于:2005-04-14 16:16:28 |
| [quote:7726d7b1d3="henkoo"][/quote:7726d7b1d3] 呵呵,我写的只是主要的思路,代码并不是最完善的,但是可以达到一定的演示效果。 至于想要在自己的项目里面如何应用,那就是仁者见仁,智者见智 |
| gydoesit 回复于:2005-04-19 14:43:18 |
| 楼主高!!! 不过我对REM指令实在不明白,我只记得注释了,这行不起作用了.想不到里面的部分还可以用? 请楼主详细解释一下.后面的php又如何执行的也不明白. 另外,请大家给点想法,看这个可以帮助实现些什么常用的应用.我知道应该绝不会只是hello world,也觉得应用范围似乎到了只有想不到,没有作不到,但一时三刻还的确想不起来. 另外,这东西执行后有 Content-type: text/html X-Powered-By: PHP/4.3.10 @REM 这样的显示,看起来不爽,有没有办法去掉 |
| HonestQiao 回复于:2005-04-19 14:59:39 |
| 哈哈,用php-cli就没有的。 你如果使用php-cgi就有的 其他的作用,就看你怎么去折腾了。 REM就是注释的作用 在他后面放上[code:1:d0ad0a047f]<?[/code:1:d0ad0a047f]是为了防止DOS的批处理解析PHP的内容; php-cli来解析PHP的时候,只是解析[code:1:d0ad0a047f]<? ?>[/code:1:d0ad0a047f]这个里面的内容 |
| lbyyy 回复于:2005-04-20 17:48:41 |
| 用php-cli显示为: @REM Hello World |
| HonestQiao 回复于:2005-04-22 22:23:28 |
| 呵呵,这个是最开始的@REM 实际上你可以多大几个换行或者换屏就可以了的。 |
| iamcm 回复于:2005-04-24 14:15:16 |
| 不得不佩服。 看起来楼主的DOS功夫也挺深哦,关键还是思维,我觉得。 |
| HonestQiao 回复于:2005-04-25 09:36:24 |
| [quote:48b011a442="iamcm"]不得不佩服。 看起来楼主的DOS功夫也挺深哦,关键还是思维,我觉得。[/quote:48b011a442] 呵呵,做WAPM的控制脚本,全部用批处理写的,花了点时间多看了一点而已 |
↓相关文章:
- · SmartTemplate(适用于企业级PHP开发的模板引擎)
- · 用PHP写的QQ Client,可以登陆、登出、收发消息、添加好友
- · [PHP]关于时间计算的结总
- · 用PHP实现文件下载
- · linux下用php连接sqlserver解决办法
- · 下拉透明菜单
- · 收集的精典代码
- · 关于PHP的分页代码
- · 一家之言的经验之谈php+mysql扎实个人基本功
- · 用PHP写FTP文件上传
- · 用PHP写的MD5加密函数
- · 在php中输出html代码
- · php的pconnect()
- · PHP/ASP上传漏洞探究
- · 做个站内搜索引擎
- · heapsort(PHP)
- · 一个塑料期货交易程序分析图程序(PHP+JAVA)
- · 计算排列组合的php代码
- · 对页面的源代码进行加密,使源代码变成乱码,没法读取
- · 用phpUnit帮你调试php程序
- · PHP下对缓冲区的控制
- · PHP实现文件下载
- · 用PHP实现windows资源管理器风格的树型菜单
- · BS结构中使用PHP访问ORACLE LOB
- · 使用PHP 5.0 轻松解析XML文档(5)
- · 使用PHP 5.0 轻松解析XML文档(3)
- · 使用PHP 5.0 轻松解析XML文档(1)
- · PHP中实现面向对象编程(上)
- · PHP中接收复选框信息的方法
- · PHP操作IMAP服务器的类
- · PHP中时间和日期函数总结
- · PHP应用分页显示制作详细讲解(2)
- · PHP5中使用Web服务访问J2EE应用程序(4)
- · PHP5中使用Web服务访问J2EE应用程序(2)
- · PHP中通过Web执行C/C++应用程序
- · 用PHP编程开发“虚拟域名”系统
- · PHP中创建并处理图象
- · 用php编写的日历
- · PHP中的面向对象和面向过程
- · php如何更好更有效的实现-----用户注册页面
- · 上传多个文件的PHP脚本
- · php注入4
- · php注入2
- · PHP中类的理解和应用[二]
- · PHP计数器

