免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 12353 | 回复: 27
打印 上一主题 下一主题

[脚本] PHP + BAT 制作PHP自解析批处理 [复制链接]

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-04-08 17:01 |只看该作者 |倒序浏览
[我的原创文章] PHP + BAT 制作PHP自解析批处理

关于标题:PHP + BAT 制作PHP自解析批处理

就是,一个BAT文件,内部包含了DOS的BAT批处理代码和PHP的CLI的代码。
因为后缀名为BAT,所以在WIndows系统上面,我点他,他就可以自动运行

因为我做了一些对PHP的特殊处理,因而它又能自己使用PHP的CLI来解析自己所包含的PHP指令。

有何用途:
例如你要做一个PHP-CLI的发行包,那么你可以参照这个脚本来做你自己的安装程序。


代码原文:
filename: phpbat.bat

  1. @REM<?php
  2. @REM =='
  3. @SET PHPCLI=F:\usr\local\php4\php.exe
  4. @REM PHPCLI表示你的CLI模式的php.exe的路径
  5. @%PHPCLI% %0
  6. @goto :EOF
  7. @REM';?>;
  8. <?php
  9. echo "\rHello World";
  10. exec("pause");
  11. ?>;
复制代码


一点说明,巧妙的运用了BAT批处理的REM指令和PHP的''定义字符串的方式,使得二者混合一体,而又互补干扰。

另外一点说明:
刚才在一个QQ群里,给出这个命题,居然有人说落后的技术,闲着没有事情可做,居然说就喜欢吗我这样子垃圾的人,没办法,好的东西我要共享给大家。

参考:ActivePerl的WIndows Zip Packge的Installer.bat

[ 本帖最后由 HonestQiao 于 2007-1-12 09:21 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2005-04-09 09:04 |只看该作者

[我的原创文章] PHP + BAT 制作PHP自解析批处理

有意思,但不是很明白!

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
3 [报告]
发表于 2005-04-09 23:48 |只看该作者

[我的原创文章] PHP + BAT 制作PHP自解析批处理

也就是,怎么样让批处理代码和PHP代码整合到一个文件,其后缀名为BAT,那么它可以运行自身的BAT代码,然后由BAT代码来调用PHP-CLI运行自身的PHP代码。

论坛徽章:
0
4 [报告]
发表于 2005-04-10 23:57 |只看该作者

[我的原创文章] PHP + BAT 制作PHP自解析批处理

好文!有创意!

关键就是:
@REM <?php
以及
@%PHPCLI% %0
@goto :EOF

论坛徽章:
0
5 [报告]
发表于 2005-04-12 10:25 |只看该作者

[我的原创文章] PHP + BAT 制作PHP自解析批处理

偶这里似乎要加上ob_flush才好一些

  1. @REM<?php
  2. @REM =='
  3. @SET PHPCLI=F:\php\php.exe
  4. @REM PHPCLI表示你的CLI模式的php.exe的路径
  5. @%PHPCLI% %0
  6. @goto :EOF
  7. @REM';?>;
  8. <?php
  9. echo "\rHello World";
  10. ob_flush();
  11. exec("pause");
  12. ?>;
复制代码

论坛徽章:
0
6 [报告]
发表于 2005-04-12 18:44 |只看该作者

[我的原创文章] PHP + BAT 制作PHP自解析批处理

不错!看了之后非常有收获,

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
7 [报告]
发表于 2005-04-14 16:16 |只看该作者

[我的原创文章] PHP + BAT 制作PHP自解析批处理

[quote]原帖由 "henkoo"][/quote 发表:


呵呵,我写的只是主要的思路,代码并不是最完善的,但是可以达到一定的演示效果。

至于想要在自己的项目里面如何应用,那就是仁者见仁,智者见智

论坛徽章:
0
8 [报告]
发表于 2005-04-19 14:43 |只看该作者

[我的原创文章] PHP + BAT 制作PHP自解析批处理

楼主高!!!
不过我对REM指令实在不明白,我只记得注释了,这行不起作用了.想不到里面的部分还可以用?
请楼主详细解释一下.后面的php又如何执行的也不明白.

另外,请大家给点想法,看这个可以帮助实现些什么常用的应用.我知道应该绝不会只是hello world,也觉得应用范围似乎到了只有想不到,没有作不到,但一时三刻还的确想不起来.

另外,这东西执行后有
Content-type: text/html
X-Powered-By: PHP/4.3.10

@REM
这样的显示,看起来不爽,有没有办法去掉

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
9 [报告]
发表于 2005-04-19 14:59 |只看该作者

[我的原创文章] PHP + BAT 制作PHP自解析批处理

哈哈,用php-cli就没有的。
你如果使用php-cgi就有的

其他的作用,就看你怎么去折腾了。

REM就是注释的作用
在他后面放上
  1. <?
复制代码
是为了防止DOS的批处理解析PHP的内容;

php-cli来解析PHP的时候,只是解析
  1. <? ?>;
复制代码
这个里面的内容

论坛徽章:
0
10 [报告]
发表于 2005-04-20 17:48 |只看该作者

[我的原创文章] PHP + BAT 制作PHP自解析批处理

用php-cli显示为:

@REM
Hello World
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP