PHP + BAT 制作PHP自解析批處理
2024-05-04 22:53:36
供稿:網友
關于標題: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的控制腳本,全部用批處理寫的,花了點時間多看了一點而已
國內最大的酷站演示中心!