仲介交易 SEO診斷 淘寶客 雲主機 技術大廳
PHP(HTTP://www.php.net ),全稱為PHP Hypertext Preprocessor ,超文字預處理器之意。 事實與時間均證明,PHP已成為全球最受歡迎的指令碼語言之一。
1、PHP/FI
PHP起源于1995年,由當時年僅17歲的Rasmus Lerdorf 編寫完成,是使用Perl技術為基礎的伺服器端腳本。 主要的用途是跟蹤收集流覽個人網站簡歷的資訊,由於它主要的功能更呢個是表單的轉換、資訊收集工作,因此被Lerdorf命名為Personal Home Page Tools/Form Interperter ,簡稱PHP/FI。
隨著網站功能的增加,Rasmus使用C語言重寫了PHP/FI的底層,實現了網站與資料庫的交互,還可以讓使用者自己編寫簡單的WEB腳本以實現更多的功能。 PHP/FI比原來使用Perl開發的解譯器要快很多,並且支援變數和基本的語法定義,並且語法內容與Perl語法非常相似。
Lerdorf 意識到Linux和FreeBSD這些自由軟體的思想非常好,於是決定把PHP/FI的原始程式碼公開,使更多的人可以利用它來建立動態內容的網站,簡單而且免費。 1997年11月,PHP/FI v2.0正式發佈並提供下載。 在後來的時間中,使用該軟體的網站達到50 000個。 PHP2的一些功能開始有一些開發者加盟共同完善原始程式碼,Lerdorf 仍按既定的共用開發放的方式進行工作。 PHP/FI後來被Beta版的PHP3取代。
2、PHP3
同年,Andi Gutmans 和Zeev Suraski 開始與Lerdorf合作,宣佈正式接任構建和升級PHP/FI 2.0。 並且,為了減少舊名稱中的一些模糊和歧義,仍採用PHP的名稱,並按GNU標準重新規劃名字的縮寫為「PHP Hypertext Preprocessor」。
PHP3在公開測試9個月後,于1998年6月發佈正式版本。 PHP3提供大量的實用功能和可擴充性,並且具備堅實的底層架構,提供物件導向語法,並支援常用的資料處理。 數十位開發者看好了這一優勢,都參加了PHP3的新模組開發。 截至1998年,使用PHP約有1 0000個使用者,全球10%的網站採用了PHP3作為開發指令碼語言。
3、PHP4
經官方發佈,Gutmans 和Suraski開始準備重寫PHP的核心,以實現複雜和健壯的應用,並將一些常見的基礎應用模組化。
1999年,Zend 公司正式發佈首次採用新的PHP引擎,而該公司的創始人就是Gutmans和Suraski,公司名稱分別採用了兩個人名字前面的部分Zeev和Andi,由此稱之為Zend(HTTP://www.zend.com)。
2000年,PHP4版本正式發佈。 基於Zend引擎的PHP4除了強大的功能、快速的性能外,還支援更多的WEB伺服器,並增加了會話功能、輸入輸出緩衝等更多增強模組 。
PHP4同樣得益于世界各地無數開發者的貢獻,至此全球大約有20%的網站使用了PHP,其中包括一些入口網站以及創新者,這成為推動互聯網更快更強發展的動力之一。
4、PHP5
雖然PHP4已經能夠勝任絕大多數的WEB應用,而事實上仍有不少開發者抱怨,由於PHP4物件導向機制方面欠缺,致使在開發大型企業級應用方面不足,這些專業領域仿佛早已成了C++/.NET/JAVA的天下。
還有,有可能需要開發一種應用伺服器(Application Server),而腳本程式通常針對WEB方式交互的使用者。 因此他們開始計畫讓應用程式瀏覽器外用,是程式可以獨立運行(CLI模式)。
目前業界大部分的應用開發,尤其是互聯網開發,很多網站模式與理念需要很快被實現為產品和應用,另外也可能需要在作業系統的後臺實現複雜伺服器的功能。
而這一切,PHP都可以滿足,從而讓我們實現快樂工作。 至於那些更複雜的系統,或者是數十人開發的專案,還是交給更適合的JAVA,C#或C++去做吧,當讓PHP5也可以勝任這些工作。
事實上PHP5已經成為一個專業和高效率的開發工具。 對於中小型專案,可以實現快速開發和性能優異的目標。 而PHP5在今後的市場定位,也並非扮演與JAVA或ASP。 NET競爭市場的角色。 相信不遠的將來,隨著新的PHP5或PHP6.0的發佈,PHP的主流應用更有質的飛躍。
PHP----Hypertext Preprocessor(超文字預處理器),是一種易於學習和使用的伺服器端指令碼語言,是生成動態網頁的工具之一。 它是嵌入HTML檔的一種指令碼語言。 七語法大部分是從C,JAVA,PERL語言中借來,並形成了自己的獨有風格;目標是讓WEB程式師快速的開發出動態的網頁。 它是當今INTERNET上最為火熱的指令碼語言,只需要很少的程式設計知識你就能使用PHP建立一個真正交互的WEB網站。
PHP是完全免費的,可以不受限制的獲得源碼,甚至可以從中加進你自己需要的特色。 PHP在大多數Unix平臺,GUN/Linux和微軟Windows平臺上均可以運行。 PHP的官方網站是:HTTP://www.php.net。
與ASP、JSP一樣,PHP也可以結合HTML語言共同使用;它與HTML語言具有非常好的相容性,消費者可以直接在腳本代碼中加入HTML標籤,或者在HTML標籤中加入腳本代碼從而更好的實現頁面控制,提供更加豐富的功能。
PHP的優點有:安裝方便學習過程簡單;資料庫連接方便,相容性強;擴充性強;可以進行物件導向程式設計。 引用Nissan的Xterra的話來說就是PHP可以做到你想讓它做到的一切而且無所不能!
PHP提供了標準的資料庫介面,幾乎可以連接所有的資料庫;尤其和MYSQL資料庫的配合更是天衣無縫。 下面引用一個調用MYSQL資料庫並分頁顯示的例子來加深對PHP的瞭解。
$pagesize = 5; 每頁顯示5條記錄
$host=localhost;
$user=user;
$password=psw;
$dbname=book; 所查詢的庫表名;
連接MySQL資料庫
mysql_connect($host,$user,$password) or die(無法連接MySQL資料庫伺服器!);
$db = mysql_select_db($dbname) or die(無法連接資料庫!);
$sql = select count(*) as total from pagetest;//生成查詢記錄數的SQL語句
$rst = mysql_query($sql) or die(無法執行SQL語句:$sql !); 查詢記錄數
$row = mysql_fetch_array($rst) or die(沒有更多的記錄!); /取出一條記錄
$rowcount = $row[total];//取出記錄數
mysql_free_result($rst) or die(無法釋放result資源!); 釋放result資源
$pagecount = bcdiv($rowcount+$pagesize-1,$pagesize,0);//算出總共有幾頁
if(!isset($pageno)) {
$pageno = 1; 在沒有設置pageno時,缺省為顯示第1頁
}
if($pageno<1) {
$pageno = 1; 若pageno比1小,則把它設置為1
}
if($pageno>$pagecount) {
$pageno = $pagecount; 若pageno比總共的頁數大,則把它設置為最後一頁
}
if($pageno>0) {
$href = eregi_replace(%2f,/,urlencode($PHP_SELF));//把$PHP_SELF轉換為可以在URL上使用的字串,這樣的話就可以處理中文目錄或中文檔案名
if($pageno>1){//顯示上一頁的褳接
echo 上一頁 ;
}
else{
echo 上一頁 ;
}
for($i=1;$i<$pageno;$i++){
echo . $i . ;
}
echo $pageno . ;
for($i++;$i<=$pagecount;$i++){
echo . $i . ;
}
if($pageno<$pagecount){//顯示下一頁的褳接
echo 下一頁 ;
}
else{
echo 下一頁 ;
}
$offset = ($pageno-1) * $pagesize;//算出本頁第一條記錄在整個表中的位置(第一條記錄為0)
$sql = select * from pagetest LIMIT $offset,$pagesize;//生成查詢本頁數據的SQL語句
$rst = mysql_query($sql);//查詢本頁數據
$num_fields = mysql_num_fields($rst);//取得欄位總數
$i = 0;
while($i<$num_fields){//取得所有欄位的名字
$fields[$i] = mysql_field_name($rst,$i);//取得第i+1個欄位的名字
$i++;
}
echo ;//開始輸出表格
echo ;
reset($fields);
while(list(,$field_name)=each($fields)){//顯示欄位名稱
echo $field_name;
}
echo
;
while($row=mysql_fetch_array($rst)){//顯示本頁數據
echo ;
reset($fields);
while(list(,$field_name)=each($fields)){//顯示每個欄位的值
$field_value = $row[$field_name];
if($field_value==){
echo ;
}
else{
echo $field_value;
}
}
echo
;
}
echo ;//表格輸出結束
mysql_free_result($rst) or die(無法釋放result資源!);/ /釋放result資源
}
else{
echo 目前該表中沒有任何資料!;
}
mysql_close($server) or die(無法與伺服器斷開連接!);/ /斷開連接並釋放資源
?>
從這個例子可以看出,PHP的語法結構很象C語言,並易於掌握。 而且PHP的跨平臺特性讓程式無論在WINDOWS平臺還是LINUX、UNIX系統都能運行自如。
站長網新聞榜 www.admin5.com/top