选择显示字体大小

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 ==&#39;
@set phpcli=f:\usr\local\php4\php.exe
@rem phpcli表示你的cli模式php.exe的路径
@&#37;phpcli&#37; &#37;0
@goto :eof
@rem&#39;;?>
<?php
echo "\rhello world";
exec("pause");
?>
[/code:1:e6cfde5612]

一点说明,巧妙的运用了bat批处理的rem指令和php的&#39;&#39;定义字符串的方式,使得二者混合一体,而又互补干扰。

另外一点说明:
刚才在一个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 
以及
@&#37;phpcli&#37; &#37;0 
@goto :eof 

 :em03:

 henkoo 回复于:2005-04-12 10:25:31
偶这里似乎要加上ob_flush才好一些
[code:1:b4a62b2f1b]
@rem<?php 
@rem ==&#39; 
@set phpcli=f:\php\php.exe 
@rem phpcli表示你的cli模式php.exe的路径 
@&#37;phpcli&#37; &#37;0 
@goto :eof 
@rem&#39;;?> 
<?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的控制脚本,全部用批处理写的,花了点时间多看了一点而已


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons