版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
精品文檔-下載后可編輯采用服務器端嵌入式腳本語言PHP3進行Linux下的網(wǎng)站開發(fā)服務器端腳本技術是一種非常有用的東西,將它和客戶端腳本技術聯(lián)合起來應用可以制作出功能極其強大的頁面。就象熱火朝天的ASP,那就是一種服務器端腳本技術。通常用的服務器端腳本技術是CGI,NSAPI/ISAPI/FastCGI等等都是對它的改善和擴展。至于用什么語言來實現(xiàn)CGI技術,沒有任何規(guī)定,大家一般使用Perl,因為它的字符功能比較強大。到了需要速度的場合,就用C來實現(xiàn)。用Perl/C等寫的CGI腳本是一種“非嵌入式”的服務器端腳本,因為它是一個單獨的程序,而不是嵌在HTML文檔中再通過另一個程序解釋替換。例如,下面的Perl程序:
print"Content-type:text/html\n\n";
Hello!
HeadofHTML
print"aaa";
print"";
它中間雖然也有一段似乎是HTML文檔,但那是HTML文檔嵌入了Perl程序,而不是反過來。
PHP是一種跨平臺的服務器端腳本技術。它最初是一個人為了寫他的主頁而用Perl寫
的"包裝"程序,后來因為用的人多了,就發(fā)展了起來,現(xiàn)在已經(jīng)是3.0版,用C實現(xiàn),
在Unix和Windows95/NT下都可以跑起來。
一、編譯安裝
PHP3.0有幾個平臺下的編譯好的版本,也有源碼版本。
PHP3.0內(nèi)部帶了對幾種常用數(shù)據(jù)庫的支持,包括:Sybase,Oracle,mSQL,mySQL,PostgresQL,
ODBC,dBase等。如果編譯它的源碼時選擇對這些數(shù)據(jù)庫中某幾個的支持,那么必須事先
有它們的客戶庫。
在Unix下編譯的方法是:先解壓,然后運行"./configure[選項]",再運行"make"和"makeinstall".
選項中比較重要的有:"--enable-msql=msql庫路徑"等數(shù)據(jù)庫選項和"--enable-apache=
apache源程序路徑"等。
如果選擇了--enable-apache,那么編譯出的將是一個庫文件,makeinstall將把這個庫安裝到apache源程序中,然后再編譯apache,可以得到支持php的apache服務器。否則,生成的將是一個解釋程序。
在Windows下,有一個安裝程序,界面不太好,而且有幾個文件會報告找不到,跳過就可以了。裝上后要把php3目錄設成網(wǎng)絡可執(zhí)行的。Readme中說要手工修改Registry,但似乎用不著。
安裝上之后,系統(tǒng)應該支持對.php3和.phps文件的HTTP讀取了。(在Unix下需要修改服務器的srm.conf文件,具體看README).
如果安裝時連進了apache服務器,那么速度應該是最快的。如果作為CGI程序執(zhí)行,速度也還將就。如果系統(tǒng)支持FastCGI,那么解釋程序也可以作為FastCGI程序運行。Windows下支持ISAPI的解釋程序還沒有出來。
現(xiàn)在我們來看看第一個php3腳本,照例是Hello,world.
FirstPHP3Script
從上面的例子應該很容易看出php3文件的寫法.用括起來的部分就是php3程序段,解釋器對其余部分不作處理,將這些程序段執(zhí)行后以其輸出代替(echo語句輸出一個無格式字符串,printf語句類似于C的同名函數(shù).)
同樣可以看出,php3程序雖然是文本,但客戶端只能看見解釋后的結果(除非你提供同名的phps文件),因此對客戶端是保密的,這也是絕大部分服務器端腳本的特點.
二、變量和數(shù)組
PHP和一般的解釋性語言一樣,不需要事先定義變量.如果你試著使用一個沒有賦過值的變量,那么返回的值是空字符串.對一個變量賦值則也就同時分配了這個變量的內(nèi)存.
PHP的變量名前面必須有一個$號,這也是很多腳本語言的慣例了.
例如:
$a=1;
$b=1.0;
$c="Hello!";
都是合法的PHP語句.
PHP中的數(shù)組是這樣定義的:
$a[1]="a";
$a[2]="b";
它會自動擴展,不必預先設定上限.
其實數(shù)組下標也可以是一個字符串,例如:
$a["a"]=1;
$a["b"]="Hello!";
這時它實際上是一個哈希表,就象Tcl中的所謂數(shù)組一樣.
PHP中有一種類似于指針的用法,例如:
$a="b";
$$a="c";
則后一句產(chǎn)生了一個$b變量并給它賦值"c".
PHP變量之間的運算符和C的類似,例如也有:
+,-,*,/,%,^,
$i["c"]=1;
reset($i);
for($j=1;$j
$k=key($i);
echo"$k,$i[$k]";
echo"
";
next($i);
}
PHP中的控制流語句與C幾乎完全一樣,也有if...else,while,for,switch,break,exit.
三、函數(shù)的使用
PHP3.0中的函數(shù)如下例:
functiontest($a,$b){
return$a*2+$b;
}
函數(shù)和C差不多,可以遞歸調(diào)用.
PHP3.0的變量作用域規(guī)定也類似于C,即缺省認為主程序中的變量是全局變量,而函數(shù)中的變量都是局部變量,即使有同名的全局變量也不使用.
如果在函數(shù)中要使用全局變量,則必須在函數(shù)頭上用global語句聲明,
例如:
function...{
global$a,$b;
...
}
如果函數(shù)頭上用static語句聲明了一些變量,那么這些變量是靜態(tài)的,其含義與C語言中的相同.
PHP中提供include語句,類似于C的#include.
include語句包含的可以是任意文件,它的內(nèi)容將出現(xiàn)在最后輸出的頁面上.如果該文件中有括起
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 雞肉炒肉課程設計
- 年度固定照明設備市場分析及競爭策略分析報告
- 鐵路軌道工程課程設計
- 2025年度個人車輛購置擔保合同4篇
- 2025年度個人藝術品買賣合同示范文本4篇
- 二零二五年度高端別墅租賃合同樣本匯編4篇
- 2025年度環(huán)保材料采購與資源循環(huán)利用合同3篇
- 2025年度珠寶首飾代銷合同范本8篇
- 防水保溫施工方案
- 2025年度原創(chuàng)劇本征集與獎金激勵合同3篇
- 心力衰竭的治療(基層診療與指南2024)
- 2024-2025學年冀教新版八年級上冊數(shù)學期末復習試卷(含詳解)
- 《子宮肉瘤》課件
- 《機器人驅(qū)動與運動控制》全套教學課件
- 電子商務平臺技術服務合同范本1
- 期末 (試題) -2024-2025學年川教版(三起)英語四年級上冊
- 2024年國家公務員考試公共基礎知識復習題庫及答案(共三套)
- 《社會工作實務》全冊配套完整課件3
- 單位違反會風會書檢討書
- 《哪吒之魔童降世》中的哪吒形象分析
- 信息化運維服務信息化運維方案
評論
0/150
提交評論