六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

PHP做Shell語言

[摘要]聯(lián)想軟件超星空工作室 馬洪志PHP(Personal Hypertext Preprocessor) 近一兩年來似乎已經(jīng)成為Linux/Unix上最廣為使用的網(wǎng)頁處理語言,方便、功能強大與源代碼開放(OpenSource)的特性使得它正逐漸占領(lǐng)傳統(tǒng)的CGI,甚至是 MicroSoft ASP(Ac...
聯(lián)想軟件超星空工作室 馬洪志

PHP(Personal Hypertext Preprocessor) 近一兩年來似乎已經(jīng)成為Linux/Unix上最廣為使用的網(wǎng)頁處理語言,方便、功能強大與源代碼開放(OpenSource)的特性使得它正逐漸占領(lǐng)傳統(tǒng)的CGI,甚至是 MicroSoft ASP(Active Server Page)的市場,很多的web站點用PHP做動態(tài)網(wǎng)頁處理。

究其原因,可以總結(jié)如下:

PHP是OpenSource的軟件,基于GPL協(xié)議,源代碼開放,免費使用,自由發(fā)放,這樣吸引了大量的人使用,同時也得到了商業(yè)公司的支持,特別是在PHP4中,zend為PHP提供了引擎和優(yōu)化部分,你可以訪問http://www.php.net或http://www.zend.com,可以得到更多的信息。

PHP本身的語法非常的簡單,和C、Perl語言有很大的相似。當我第一次接觸PHP時,感覺它簡直是Perl的克隆。PHP本身非常簡單易懂,同時提供面向?qū)ο蟮奶幚砟芰Γ屝率肿阋栽谧疃虝r間內(nèi)學會。

PHP 提供了非常豐富的功能,包含了數(shù)學處理、字串處理、網(wǎng)絡(luò)相關(guān)功能、各種數(shù)據(jù)庫的支持、圖像處理功能。有很多人為PHP發(fā)展提供各式各樣的新功能,它的擴性極佳。目前,PHP對Flash提供了較好的支持。

PHP很容易與Apache相結(jié)合,可以作為Apache的模組來使用,同時,在Apache中設(shè)定安裝相當簡單,也因為Apache目前已經(jīng)占據(jù)了Web Server 全球 60% 的市場,PHP 自然而然成為 Apache 最佳搭配。同時為了提高web服務(wù)器的速度,可以把PHP直接編譯進Apache,提高web服務(wù)的訪問、處理速度。

PHP的另外的一個功能是:它實際上是可以作為shell script來應(yīng)用的。PHP作為shell script比其他的shell語言有很大的優(yōu)勢。尤其PHP的數(shù)據(jù)庫的服務(wù)功能非常的強大,用戶可以方便的訪問數(shù)據(jù)庫系統(tǒng)。

編譯PHP讓它用來做解釋器,本文的操作環(huán)境是HappyLinux家用版V1.0,以root身份執(zhí)行下面的步驟:


獲得PHP的源代碼  

PHP的源代碼在http://www.php.net 的網(wǎng)站上可以得到,同時國內(nèi)的很多的網(wǎng)站上提供改網(wǎng)站的鏡像。目前,最新的版本是PHP 4.0.2。


解開PHP源碼包  

tar zxvf php-4.0.2.tar.gz


編譯PHP  

cd php-4.0.2

configure --with-ftp --with-pgsql

make

注意configure的參數(shù)看PHP的幫助文件,以便你能更好的配置PHP。


當編譯完成后,在php-4.0.2目錄下會生成一個php的文件,將這個文件拷貝到/usr/sbin/  

cp ./php /usr/sbin


測試編譯的結(jié)果  

輸入下面的結(jié)果到文件test.php中:

#!/usr/sbin/php

<?php

echo “Hello World!\n”

?>

保存結(jié)果到test.php中并更改文件的屬性:

chmod 777 ./test.php

執(zhí)行文件test.php

./test.php

這時你能夠看見結(jié)果:

X-Powered-By: PHP/4.0.2

Content-type: text/html

Hello World!

這個結(jié)果你可能有些失望,它并不是我們要的全部的結(jié)果。因為,PHP主要是做為網(wǎng)頁的應(yīng)用,上面的頭兩行是輸出的HPPT的頭,怎樣讓PHP去掉這兩行呢?你僅僅需要在加入?yún)?shù)-q就可以去掉HPPT頭:

#!/usr/sbin/php -q

<?php

echo “Hello World!\n”

?>

再看一下輸出的結(jié)果:

Hello World!


OK!搞定。下面用PHP做腳本列舉一些應(yīng)用


用PHP連接數(shù)據(jù)庫  

PHP提供大量的數(shù)據(jù)庫的函數(shù),幾乎所有的數(shù)據(jù)庫PHP提供一套數(shù)據(jù)庫的函數(shù),所以用PHP寫腳本,訪問數(shù)據(jù)庫是一個很好的主意。下面的例子是用PHP訪問postgresql數(shù)據(jù)庫的一個例子:

#!/usr/sbin/php -q

<?php

string=$con=pg_Connect("dbname=test port=5432 host=127.0.0.1 user=postgres\ password=postgres");

echo $con."\n";

pg_exec($con,"insert into test1 values ('ok',1,1)");

pg_close($con);

?>

執(zhí)行這個腳本,PHP訪問數(shù)據(jù)庫test,同時,會向test1表中插入一個記錄。有關(guān)PHP訪問數(shù)據(jù)庫的內(nèi)容請看相關(guān)的數(shù)據(jù)庫函數(shù)和數(shù)據(jù)庫的文檔手冊。


用PHP做FTP自動上載和下載腳本  

在PHP3就提供PHP的FTP的函數(shù),用這些函數(shù)能夠?qū)崿F(xiàn)文件的自動上載和下載的功能。想要利用PHP提供的FTP函數(shù),必須要在編譯PHP時的configure指定參--with-ftp。下面是FTP的例子:

#!/usr/sbin/php -q

<?php

// set up basic connection

$conn_id = ftp_connect("$your_ftp_server");


// login with username and password

$login_result = ftp_login($conn_id, "$ftp_your_name", "$ftp_your_password");


// check connection

if ((!$conn_id) (!$login_result)) {

echo "Ftp connection has failed!";

echo "Attempted to connect to $your_ftp_server ";

die;

} else {

echo "Connected to $ftp_server, for your";

}


// upload the file

$upload = ftp_put($conn_id, "$destination_file", "$source_file", FTP_BINARY);


// check upload status

if (!$upload) {

echo "Ftp upload has failed!";

} else {

echo "Uploaded $source_file to $your_ftp_server as $destination_file";

}


// close the FTP stream

ftp_quit($conn_id);

?>

顯然利用PHP可以方便的進行網(wǎng)絡(luò)的文件傳輸,沒有必要寫socket程序。


用PHP處理命令行參數(shù)  

PHP和Perl的相似之處還在于它們們處理的參數(shù)的方法是一致的,它們提供變量數(shù)組和變量計數(shù)器:$ argv [],$ argc。下面的例子是一個打印命令行字串的例子和命令行求和。

test.php


#!/usr/sbin/php –q  

<?php

echo $argv[1]; //注意$ argv []的第一個變量從1開始

?>

在命令行下執(zhí)行:./test.php LegendSoftware

將打印LegendSoftware


test1.php


#!/usr/sbin/php –q

<?php

$sum=0;

for ($i=1;$i<=$argc;$i++)

$sum=$sum+$argv[$i];

echo $sum;

?>

執(zhí)行 test1.php 1 2 3 4 5 回車,則會打印出 15。


在Console下進行交互  

許多的C程序員知道在Console下進行交互用scanf函數(shù),PHP是為web而設(shè)計的語言,用戶輸入交互通過form中的變量。那么在Console下怎么進行交互呢?答案很簡單,用fopen函數(shù)打開系統(tǒng)的標準輸入設(shè)備進行讀取。下面的程序?qū)崿F(xiàn)了這個從標準輸入設(shè)備上讀取字串的功能:

#!/usr/sbin/php -q

<?

$fp=fopen("/dev/stdin","r");

echo “Please input a string:”

$inputstr=fgets($fp,100);

fclose($fp);

echo "This string is ";

echo $inputstr.”\n”;

?>  


其中的 fgets($fp,100) 是指從$fp句柄(也就是 "/dev/stdin")中讀取出最多100個字節(jié),執(zhí)行這個程序會等待我們的輸入,當我們輸入完按下 enter 之后,程序會將我們的輸入打印出來。

小結(jié)

通過上面的介紹,和本人的實踐經(jīng)驗,PHP的功能非常的強大,不但對web的處理能力非常的強大,同時對腳本的處理能力也是非常的方便。


主站蜘蛛池模板: 日本性网站 | 四虎影永久在线观看网址 | 日韩中文字幕视频在线观看 | 天天碰夜夜操 | 伊人狼人综合网 | 四虎影院美女 | 日韩专区第一页 | 午夜免费观看 | 欲色影视 | 中文字幕在线精品视频站app | 欧美一区二区三区影院 | 青青在线免费观看 | 日韩精品亚洲专区在线影视 | 日本一区二区影院 | 五月婷婷久久综合 | 手机在线播放av | 探花视频在线看视频 | 日韩国产在线播放 | 日韩三级精品 | 探花视频在线看视频 | 色yeye在线观视频 | 亚洲欧美伦理 | 亚洲成在线观看 | 青青草原亚洲 | 日韩一级片免费看 | 日韩欧美国产中文字幕 | 越南高清xxxxx18 | 亚洲男人天堂网站 | 伊人免费 | 伊人精品久久久大香线蕉99 | 日日摸日日碰 | 日本精品高清一区二区2021 | 亚洲午夜久久久 | 日韩欧美一区二区三区久久 | 无遮挡激情| 天堂中文字幕在线 | 日韩亚洲成a人片在线观看 日韩亚州 | 欧美香蕉人人人人人人爱 | 亚洲精品国产福利片 | 亚洲tv精品一区二区三区 | 三级中文有码中文字幕 |