国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 php教程 php手冊 Shell Script方式的PHP(轉(zhuǎn)) 這種方式頗有點(diǎn)像PERL的CGI方式。。:)

Shell Script方式的PHP(轉(zhuǎn)) 這種方式頗有點(diǎn)像PERL的CGI方式。。:)

Jun 21, 2016 am 09:12 AM
nbsp php quot script

cgi|perl

Shell Script方式的PHP

PHP 怎么這么紅??
最近 PHP(Personal Hypertext Preprocessor) 似乎已經(jīng)成了這一兩年來 Linux/Unix 上最廣為大家所使用的網(wǎng)頁處理語言﹐它的方便、強(qiáng)大功能與 OpenSource 的特性使得它正逐漸侵蝕到傳統(tǒng) CGI 甚至是 MicroSoft ASP(Active Server Page)的市場﹐幾乎各大網(wǎng)站征招人才莫不以會(huì) PHP 作為基本條件。??
PHP 確實(shí)有這個(gè)資格可以這么紅﹐原因有下面數(shù)點(diǎn) :??
PHP 是 OpenSource 軟件﹐完全免費(fèi)﹐可以自由散布﹐因此吸引了極多的人來使用﹐也因?yàn)槿绱拴o吸引到了商業(yè)公司為其發(fā)展更好的引擎與最佳化軟件(請參考 http://www.zend.com/)。??
PHP 本身非常簡單易懂﹐淺顯的指令語法﹐外加一些基本的對象導(dǎo)向處理能力﹐讓新手足以在最短時(shí)間內(nèi)學(xué)會(huì)。??
PHP 提供了相當(dāng)多的功能﹐包含了數(shù)學(xué)處理、字符串處理、網(wǎng)絡(luò)相關(guān)功能、各種數(shù)據(jù)庫的支持、影像處理功能、有為數(shù)眾多的發(fā)展者正為 PHP 發(fā)展各式各樣的新功能﹐擴(kuò)充性極佳。??
PHP 非常容易與 Apache 相結(jié)合﹐作為 Apache 的模塊來使用﹐設(shè)定安裝上相當(dāng)簡單﹐也因?yàn)?Apache 目前已經(jīng)占據(jù)了 Web Server 全球 60% 的市場﹐PHP 自然而然成為 Apache 最佳搭配。??
不過﹐這次要講的主題不是 PHP 在網(wǎng)頁設(shè)計(jì)上的應(yīng)用﹐而是 PHP 在 Shell Script 上的應(yīng)用﹐一般所知的 Shell Script 大約就是 tcsh、bash、perl 或是 python 這幾類語言﹐我所要談的就是將 PHP 當(dāng)成 Shell Script 來使用。??
PHP 執(zhí)行檔的安裝??
一般 PHP 作為網(wǎng)頁處理語言都是要編譯成 Apache 的模塊﹐這里當(dāng)然不么做﹐也因此編譯起來很簡單﹐只要以 root 的身分進(jìn)行如下動(dòng)作 :??
解開 php-3.0.xx.tar.gz??
cd php??
configure??
make??
編譯完之后﹐在 php 目錄下有一個(gè)可執(zhí)行檔﹐檔名為 php﹐將它 copy 到 /usr/local/bin 下即可。注意﹐如果檔案太大﹐可以使用 strip 指令將 php 的方式將不必要的信息去除﹐這樣檔案就會(huì)小得多了。??
第一個(gè)程序??
開始撰寫我們的第一個(gè) PHP Shell Script 程序﹐這個(gè)例子印出 "Hello world !" :??
#!/usr/local/bin/php -q??
??
echo "Hello, world !";??
?>??
注意到 PHP 原本是應(yīng)用在網(wǎng)頁應(yīng)用的﹐因此它內(nèi)定會(huì)送出 HTML 的 HEADER﹐但是在此我們是要將 PHP 用作 Shell Script﹐"-q" 就是表示不要送出 HEADER 的意思﹐你可以試試看不加上 -q 的顯示結(jié)果。??
在這個(gè)例子中﹐/usr/local/bin/php 是表示要執(zhí)行 /usr/local/bin/ 下的 PHP﹐因?yàn)槲覀儎偛艑⑺b在該處。echo 指令將 "Hello, world !" 印出﹐其中的 "" 字符是換行字符。??
注意到在將這個(gè)程序存成檔案后﹐須將其 chmod 成為可執(zhí)行屬性(chmod +x 文件名)﹐然后才能執(zhí)行喔。??
進(jìn)階使用 I??
有時(shí)候我們需要在程序執(zhí)行時(shí)﹐送進(jìn)一些參數(shù)﹐比如說 ls 這個(gè)指令﹐后面可以加上 -l 參數(shù)﹐PHP Shell Script 一樣也有支持這樣的用法﹐有兩個(gè)特殊的變量 : $argc 記錄著后面送入?yún)?shù)的個(gè)數(shù)﹐$argv[] 數(shù)組參數(shù)存著的則是參數(shù)的內(nèi)容。比如說我現(xiàn)在要設(shè)計(jì)一個(gè)算兩個(gè)數(shù)字總和的程序 :??
#!/usr/local/bin/php -q??
??
$sum=0;??
$sum=$sum+$argv[1]+$argv[2];??
echo $sum;??
?>??
假設(shè)將此程序命名為 sum.php3﹐則執(zhí)行 sum.php3 1 2 按下 enter 則會(huì)印出 3。??
如果要算出不特定個(gè)數(shù)的參數(shù)和﹐那么就得要用到 $argc 這個(gè)特殊變量了 :??
#!/usr/local/bin/php -q??
??
$sum=0;??
for ($t=1;$t$sum=$sum+$argv[$t];??
echo $sum;??
?>??
假設(shè)將此程序命名為 bigsum.php3﹐則執(zhí)行 bigsum.php3 1 2 3 4 5 按下 enter 則會(huì)印出 15﹐執(zhí)行 bigsum.php3 1 2 3 4 5 6 按下 enter 則會(huì)印出 21。??
有時(shí)候我們需要在程序執(zhí)行中輸入資料﹐但是 PHP 原本就是用于網(wǎng)頁設(shè)計(jì)﹐而網(wǎng)頁上的資料輸入自然都是用 FORM 的方式來輸入﹐所以這將 PHP 作為 Shell Script 時(shí)問題就來了﹐好在 PHP 有提供了開文件功能﹐而在 Linux/Uinx 之下﹐輸入(input)這件事原本就可以用開檔的方式來完成﹐我們要開啟的是 /dev/stdin 這個(gè)設(shè)備檔(stdin 是表示 standard input 的意思)﹐程序如下 :??
#!/usr/local/bin/php -q??
??
$fp=fopen("/dev/stdin","r");??
$inputstr=fgets($fp,100);??
fclose($fp);??

echo " ---------------------- ";??
echo $inputstr;??
?>??
其中的 fgets($fp,100) 是指從 $fp 這個(gè)檔案(也就是 "/dev/stdin")中讀取出 100 個(gè) byte 的資料﹐程序執(zhí)行到這行便會(huì)停下來等待我們的輸入﹐當(dāng)我們輸入完按下 enter 之后﹐程序就會(huì)將剛才我們輸入的資料給印出來了。??
進(jìn)階使用 II??
雖然已經(jīng)可以處理輸入﹐但是這樣的功能顯然還是太簡單﹐無法應(yīng)付更大的應(yīng)用﹐比如說我需要一個(gè)功能是將一串資料流(data stream)中的 HTML 給去除﹐這時(shí)便需要完整地處理輸出輸入轉(zhuǎn)向的能力﹐我們可以先設(shè)計(jì)程序如下 :??
#!/usr/local/bin/php -q??
??
$fp=fopen("/dev/stdin","r");??

while(!feof($fp)) {??
$c=fgetc($fp);??
$inputstr=$inputstr.$c;??
};??

fclose($fp);??

echo $inputstr;??
?>??
假設(shè)將此程序命名為 filt.php3﹐如果你直接執(zhí)行這個(gè)程序﹐它會(huì)一直等待你輸入﹐直到你按下 Ctrl+D 后才會(huì)將你的輸入資料給印出﹐我們可以這么執(zhí)行它 :??
more filt.php3 | filt.php3??
這樣的做法是將 filt.php3 這個(gè)程序用 more 給秀出并轉(zhuǎn)向給 filt.php3 這個(gè)程序﹐filt.php3 會(huì)不斷接受資料(事實(shí)上就是 filt.php3 程序代碼本身)﹐最后將其印出。??
我們可以在其中加上過濾 HTML 的功能 :??
#!/usr/local/bin/php -q??
??
$fp=fopen("/dev/stdin","r");??

while(!feof($fp)) {??
$c=fgetc($fp);??
$inputstr=$inputstr.$c;??
};??

fclose($fp);??

$inputstr=ereg_replace("]*)>","",$inputstr);??

echo $inputstr;??
?>??
假設(shè)將此程序命名為 filt2.php3﹐如此一來便完成了過濾功能﹐不信請拿個(gè) HTML 檔來試試看 :??
more xxx.html | filt2.php3??
你便會(huì)看到刪除了 HTML TAG 的文件了。??
結(jié)論??
PHP 拿來當(dāng) Shell Script 事實(shí)上相當(dāng)?shù)睾糜茅o原因是 PHP 本身很好學(xué)﹐而且它又支持了各種數(shù)據(jù)庫﹐當(dāng)你已經(jīng)經(jīng)常拿 PHP 來設(shè)計(jì)你的網(wǎng)站之后﹐絕對不太喜歡再使用其它的 Shell Script 語言來處理其它必須非網(wǎng)頁的部份﹐這時(shí)候拿 PHP 來當(dāng)做 Shell Script 的好處就會(huì)顯現(xiàn)出來了﹐你可以以一貫的方式來發(fā)展整個(gè)系統(tǒng)﹐而不必一下要用 PHP一下又用 Perl/Python 或是 C。



本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

為什麼我們評論:PHP指南 為什麼我們評論:PHP指南 Jul 15, 2025 am 02:48 AM

PHPhasthreecommentstyles://,#forsingle-lineand/.../formulti-line.Usecommentstoexplainwhycodeexists,notwhatitdoes.MarkTODO/FIXMEitemsanddisablecodetemporarilyduringdebugging.Avoidover-commentingsimplelogic.Writeconcise,grammaticallycorrectcommentsandu

如何在Windows上安裝PHP 如何在Windows上安裝PHP Jul 15, 2025 am 02:46 AM

安裝PHP在Windows上的關(guān)鍵步驟包括:1.下載合適的PHP版本並解壓,推薦使用ThreadSafe版本配合Apache或NonThreadSafe版本配合Nginx;2.配置php.ini文件,將php.ini-development或php.ini-production重命名為php.ini;3.將PHP路徑添加到系統(tǒng)環(huán)境變量Path中以便命令行使用;4.測試PHP是否安裝成功,通過命令行執(zhí)行php-v和運(yùn)行內(nèi)置服務(wù)器測試解析能力;5.若使用Apache,需在httpd.conf中配置P

什麼是PHP,它是用什麼? 什麼是PHP,它是用什麼? Jul 16, 2025 am 03:45 AM

PHPisaserver-sidescriptinglanguageusedforwebdevelopment,especiallyfordynamicwebsitesandCMSplatformslikeWordPress.Itrunsontheserver,processesdata,interactswithdatabases,andsendsHTMLtobrowsers.Commonusesincludeuserauthentication,e-commerceplatforms,for

您如何處理PHP中的文件操作(閱讀/寫作)? 您如何處理PHP中的文件操作(閱讀/寫作)? Jul 16, 2025 am 03:48 AM

tohandlefileoperationsinphp,useApprepreprunctions andModes.1.toreadafile,usefile_get_contents()forsmallfilesorfgets()inaloopforline by line-line-processing.2.towriteToafile,usefile_put_cte_contents(usefile_contents)(

PHP語法:基礎(chǔ)知識 PHP語法:基礎(chǔ)知識 Jul 15, 2025 am 02:46 AM

PHP的基礎(chǔ)語法包括四個(gè)關(guān)鍵點(diǎn):1.PHP標(biāo)籤必須使用結(jié)束,推薦使用完整標(biāo)籤;2.輸出內(nèi)容常用echo和print,其中echo支持多參數(shù)且效率更高;3.註釋方式有//、#和//,用於提升代碼可讀性;4.每條語句必須以分號結(jié)尾,空格和換行不影響執(zhí)行但影響可讀性。掌握這些基本規(guī)則有助於寫出清晰穩(wěn)定的PHP代碼。

您的第一個(gè)PHP腳本:實(shí)用介紹 您的第一個(gè)PHP腳本:實(shí)用介紹 Jul 16, 2025 am 03:42 AM

如何開始編寫第一個(gè)PHP腳本?首先設(shè)置本地開發(fā)環(huán)境,安裝XAMPP/MAMP/LAMP,使用文本編輯器,了解服務(wù)器運(yùn)行原理。其次,創(chuàng)建一個(gè)名為hello.php的文件,輸入基本代碼並運(yùn)行測試。第三,學(xué)習(xí)混合使用PHP與HTML以實(shí)現(xiàn)動(dòng)態(tài)內(nèi)容輸出。最後,注意常見錯(cuò)誤如缺少分號、引用問題及文件擴(kuò)展名錯(cuò)誤,並開啟錯(cuò)誤報(bào)告以便調(diào)試。

PHP 8安裝指南 PHP 8安裝指南 Jul 16, 2025 am 03:41 AM

在Ubuntu上安裝PHP8的步驟為:1.更新軟件包列表;2.安裝PHP8及基礎(chǔ)組件;3.檢查版本確認(rèn)安裝成功;4.按需安裝額外模塊。 Windows用戶可下載ZIP包並解壓,隨後修改配置文件、啟用擴(kuò)展並將路徑加入環(huán)境變量。 macOS用戶推薦使用Homebrew安裝,依次執(zhí)行添加tap、安裝PHP8、設(shè)置默認(rèn)版本及驗(yàn)證版本等步驟。不同系統(tǒng)下安裝方式雖有差異,但流程清晰,根據(jù)用途選對方法即可。

python如果還有示例 python如果還有示例 Jul 15, 2025 am 02:55 AM

寫Python的ifelse語句關(guān)鍵在於理解邏輯結(jié)構(gòu)與細(xì)節(jié)。 1.基礎(chǔ)結(jié)構(gòu)是if條件成立執(zhí)行一段代碼,否則執(zhí)行else部分,else可選;2.多條件判斷用elif實(shí)現(xiàn),順序執(zhí)行且一旦滿足即停止;3.嵌套if用於進(jìn)一步細(xì)分判斷,建議不超過兩層;4.簡潔場景可用三元表達(dá)式替代簡單ifelse。注意縮進(jìn)、條件順序及邏輯完整性,才能寫出清晰穩(wěn)定的判斷代碼。

See all articles