互動(dòng)網(wǎng)頁(yè)與資料庫(kù)程式設(shè)計(jì)研習(xí)講義_第1頁(yè)
互動(dòng)網(wǎng)頁(yè)與資料庫(kù)程式設(shè)計(jì)研習(xí)講義_第2頁(yè)
互動(dòng)網(wǎng)頁(yè)與資料庫(kù)程式設(shè)計(jì)研習(xí)講義_第3頁(yè)
互動(dòng)網(wǎng)頁(yè)與資料庫(kù)程式設(shè)計(jì)研習(xí)講義_第4頁(yè)
互動(dòng)網(wǎng)頁(yè)與資料庫(kù)程式設(shè)計(jì)研習(xí)講義_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

互動(dòng)網(wǎng)頁(yè)與資料庫(kù)程式設(shè)計(jì)研習(xí)講義目錄系統(tǒng)安裝(FreeBSD篇)

FreeBSD作業(yè)系統(tǒng)安裝

使用Source安裝PHP4

使用Ports安裝PHP4系統(tǒng)安裝(Windows篇)

安裝PHP4+ApacheForWin98

安裝PHP4+PWSForWin98

安裝PHP4+IISForWinNTPHP程式設(shè)計(jì)

參考文件

準(zhǔn)備工作

PHP語(yǔ)法

作業(yè)研習(xí)日期:90年5月15日研習(xí)時(shí)數(shù):六小時(shí)研習(xí)地點(diǎn):蘆洲國(guó)中講師:劉有義陳東義Apache+PHP4+Mysql+phpMyAdmin系統(tǒng)安裝(FreeBSD篇)Apache官方網(wǎng)站:PHP官方網(wǎng)站:MySQL官方網(wǎng)站:phpMyAdmin網(wǎng)站:/projects/phpMyAdmin/index.htmlFreeBSD介紹:簡(jiǎn)單地來說,F(xiàn)reeBSD是一套根據(jù)U.C.Berkeley's4.4BSD-litereleaseforthei386platform所完成的UN*X-like作業(yè)系統(tǒng)。它同時(shí)也間接使用了WilliamJolitz移植到i386上的U.C.Berkeley'sNet/2,也就是386BSD。不過現(xiàn)在386BSD的程式碼只剩下極少數(shù)還留存在FreeBSD中。您可以在FreeBSD首頁(yè)找到有關(guān)什麼是FreeBSD以及它可以幫您做些什麼的相關(guān)資訊。FreeBSD已被廣泛地被世界各地的公司行號(hào),ISP,研究人員,電腦專家,學(xué)生,以及家庭用戶所使用,用在工作,教育,以及娛樂上。您可以在FreeBSDGallery看到一些有關(guān)他們的資料。採(cǎi)用FreeBSD的好處:完全免費(fèi)完整原始程式碼取得移植軟體容易優(yōu)良穩(wěn)定性有完整的coreteam

(coreteam是一個(gè)專門對(duì)原始程式碼做發(fā)展跟維護(hù)的組織)有了完整的原始程式碼,F(xiàn)reeBSD是研究作業(yè)系統(tǒng)及電腦科學(xué)的極佳環(huán)境。免費(fèi)的FreeBSD也使得在遠(yuǎn)端的合作小組不必?fù)?dān)心版權(quán)及系統(tǒng)開放性的問題,而能自在的交流。摘自:.tw/~ncvs/zh-big5-FAQ/FAQ.html系統(tǒng)安裝使用光碟片開機(jī)安裝。如果無(wú)法用光碟開機(jī),必須製作軟碟開機(jī)片:

步驟如下:在dos環(huán)境於光碟片找到3個(gè)檔rawrite.exe,kern.flp,mfsroot.flp。假設(shè)3個(gè)檔都copy到c:\temp放第一張磁片入A槽:c:\temp\rawritekern.flpa:放第二張磁片入A槽c:\temp\rawritemfsroot.flpa:先用kern.flp開機(jī),再依指示放入另一片。作業(yè)系統(tǒng)啟動(dòng)核心設(shè)定

首次安裝依建議值選擇第二項(xiàng)目。KernelConfigurationMenuSkipKernelConfigurationAndContinuewithinstallationStartKernelConfigurationinfull-screenvisualmodeStartKernelConfigurationinCLIMode改變系統(tǒng)週邊設(shè)定值=>不更改按q離開。進(jìn)入安裝選單

選擇第三項(xiàng),自定安裝/stand/sysinstallMainMenuWelcometotheFreeBSDinstallationandconfigurationtool.Pleaseselectoneoftheoptionsbelowbyusingthearrowkeysortypingthefirstcharacteroftheoptionnameyou'reinterestedin.Invokeanoptionbypressing[ENTER]or[TAB-ENTER]toexittheinstallation.[1]UsageQuickstart-Howtousethismenusystem[2]NoviceBeginanoviceinstallation(forbeginners)[3]ExpressBeginaquickinstallation(fortheimpatient)[4]CustomBeginacustominstallation(forexperts)[5]ConfigureDopost-installconfigurationofFreeBSD[D]DocInstallationinstructions,README,etc.[K]KeymapSelectkeyboardtype[O]OptionsView/Setvariousinstallationoptions[F]FixitEnterrepairmodewithCDROM/floppyorstartshell[U]UpgradeUpgradeanexistingsystem[L]LoadConfigLoaddefaultinstallconfiguration[I]IndexGlossaryoffunctions[Select]ExitInstall分割磁區(qū)D=DeleteSlice(若有存在的Partition,請(qǐng)移動(dòng)光棒到該磁區(qū)再行刪除)A=UseEntireDisk(硬碟全部給FreeBSD使用)Q=Finish(*)StandardInstallastandardMBR(nobootmanager)光棒移到該選項(xiàng),按Space鍵選擇再按Enter確定。指定Slice大小及給予掛入點(diǎn)名稱A=AutoDefaultsforall!Q=Finish安裝套件選單ChooseDistributionsB)Custom(利用Space鍵選擇,選中者有[X]記號(hào))除了[]src

[]Xfree86不選,其餘均安裝然後選擇兩次Exit離開選擇Source來源1)CDROM(偵測(cè)光碟沒問題則自動(dòng)退回上一選單)開始安裝不待詢問自動(dòng)安裝[Yes]等待二十分鐘系統(tǒng)安裝完成之後出現(xiàn):Visitthegeneralconfigurationmenuforachancetosetanylastoption?[Yes]FreeBSDConfigurationMenuRootPassword設(shè)定管理者密碼UserManagement(增加一個(gè)使用者可以由遠(yuǎn)端管理網(wǎng)站)

adduser(使用tab鍵切換位置)

loginid:master

Uid:1001

Group:wheel(設(shè)為wheel這個(gè)group才可以變身root)

FullName:隨便打

Membergroups:可以省略

Homedirectory:/home/master(使用者簽入的家目錄)

loginshell:/bin/tcsh(使用者簽入的shell)

(tcsh有doskey及tab鍵幫助輸入功能)

ExitTimezone

IsthismachineCMOScolocksettoUTC?[No]

5)Asia

43)Taiwan

[Yes]Networking(安裝網(wǎng)路介面,設(shè)定無(wú)誤才能上網(wǎng))

1)Interfaces

選網(wǎng)路介面(rl0)

IPV6=>NO

DHCP=>NO

Host:dxx(設(shè)定主機(jī)名稱)

Domain:.tw(主機(jī)所在網(wǎng)域)

Gateway:8(router的IP)

Nameserver:(輸入Nameserver的IP)

IPAddress:203.71.169.xxx(這臺(tái)主機(jī)的ip)

Netmask:(子網(wǎng)路遮罩)

rl0interfaceuprightnow?[Yes]

X)Exit離開選單選[ExitInstall]重新啟動(dòng)電腦,記得拿出光碟片。

如果要再安裝package或改變系統(tǒng)設(shè)定可以root身份

執(zhí)行/stand/sysinstall常用指令重新開機(jī)後,以root登入系統(tǒng)查看硬碟容量

df-k檔案系統(tǒng)總?cè)萘?1k)使用剩餘使用率掛入點(diǎn)Filesystem1K-blocksUsedAvailCapacityMountedon/dev/ad0s1a99183288436240632%//dev/ad0s1f1615823234832125172616%/usr/dev/ad0s1e19815129181011%/varprocfs440100%/proc註:ide硬碟:第一顆=>ad0第二顆=>ad1???

scsi硬碟:第一顆=>da0第二顆=>da1???列出檔案

ls只顯示檔名(注意unix的檔名,大小寫是不同的)

ls-a可顯示隱藏檔(在unix句點(diǎn)(.)開頭的檔案為隱藏檔)

ls-al列出詳細(xì)檔案資訊

total10(共10個(gè)檔案)drwxr-xr-x2masterwheel512May820:24.drwxr-xr-x3rootwheel512May820:24..-rw-r--r--1masterwheel628May820:24.cshrc-rw-r--r--1masterwheel299May820:24.login-rw-r--r--1masterwheel160May820:24.login_conf-rw1masterwheel371May820:24.mail_aliases-rw-r--r--1masterwheel331May820:24.mailrc-rw-r--r--1masterwheel722May820:24.profile-rw1masterwheel276May820:24.rhosts-rw-r--r--1masterwheel852May820:24.shrc說明:

前面十個(gè)小欄位如-rw-r--r--第一欄為屬性其餘9位分成3組

第一組是檔案所有者的讀寫權(quán)(r=readw=writex=excute),第二組為同一群組的讀寫權(quán),第三組為其他群組的讀寫權(quán)d=directorymaster=檔案擁有者wheel=所屬群組數(shù)字代表檔案大小建檔時(shí)間日期檔名測(cè)試網(wǎng)路

ping8

按ctrl+c中斷網(wǎng)路通暢訊息如下:64bytesfrom8:icmp_seq=0ttl=255time=2.150ms64bytesfrom8:icmp_seq=1ttl=255time=2.056ms64bytesfrom8:icmp_seq=2ttl=255time=2.655ms打造作業(yè)環(huán)境

ee/etc/csh.cshrc加入以下幾行setprompt="%B%m[%/]-%n-"#改變提示符號(hào)setenvLANGzh_TW.Big5#可輸入中文aliastelnet'telnet-8'#簽入遠(yuǎn)端可打中文setenvEDITOR/usr/bin/ee#設(shè)定編輯器為eesetpath=($path~~/bin.)#增加path索引如果您懶得打字請(qǐng)用root身份執(zhí)行下兩行

fetch-o/etc/csh.cshrc.tw/Unix/FreeBSD/csh.cshrc

fetch-o~/.cshrc.tw/Unix/FreeBSD/root.cshrc

重新login新的設(shè)定值才生效。

註:fetch是抓取單一檔案好用的指令,可以manfetch得到更多使用說明。自行熟悉底下指令,以利Server安裝,可以用man指令求助su變身成rootmkdir建立資料夾(目錄)cd切換資料夾tarunix下解壓縮與壓縮檔案指令cp拷貝make編譯source,依照Makefile檔編譯Apache+MySQL+PHP4+phpMyAdmin以source安裝(一)、安裝mysql-3.23.38.tar.gzsurootmkdir-p/usr/local/srccd/usr/local/srcfetch.tw/Unix/Sql/mysql-3.23.38.tar.gztar-zxvfmysql-3.23.38.tar.gzcdmysql-3.23.38./configure--help|more

#找出需要的選項(xiàng),參考/usr/local/src/mysql-3.23.38/Docs

./configure--with-named-thread-libs=-lc_r--with-charset=big5make;makeinstall

如果重新編譯,必須rmconfig.cache再makeclean,再回到步驟7/usr/local/src/mysql-3.23.38/scripts/mysql_install_db

(此script在目錄/usr/local/var下建立資料庫(kù),每一database建立一個(gè)資料夾,

內(nèi)定有mysql及test兩個(gè)database,

資料庫(kù)備份可下指令tarchvfz檔名.tar.gz資料庫(kù)資料夾名稱)啟動(dòng)mysqld(root身份)

/usr/local/bin/safe_mysqld&

若測(cè)試無(wú)誤可於/etc/rc.local加入此行,讓開機(jī)自動(dòng)啟動(dòng)查看mysqld版本

/usr/local/bin/mysqladminversion(二)、安裝Apache+php

(依照php-4.0.5/INSTALLQUICKINSTALL段落(Static)安裝)cd/usr/local/srcfetch.tw/Unix/WWW/WebServer/apache_1.3.19.tar.gztar-zxvfapache_1.3.19.tar.gzcdapache_1.3.19./configure--prefix=/usr/local/apachecd..fetch.tw/freebsd/gd1.3.tar.gztar–zxvfgd1.3.tar.gzcdgd1.3makecd..fetch.tw/freebsd/php-4.0.5.tar.gztar-zxvfphp-4.0.5.tar.gzcdphp-4.0.5/./configure--with-apache=../apache_1.3.19--enable-ftp\

--enable-track-vars--with-mysql--with-imap\

--with-gd=../gd1.3

#寫成一行make;makeinstallcd../apache_1.3.19./configure--prefix=/usr/local/apache--activate-module=src/modules/php4/libphp4.a

#寫成一行make;makeinstallcp/usr/local/src/php-4.0.5/php.ini-dist/usr/local/lib/php.inicd/usr/local/apache/conf/eehttpd.conf#將底下兩行啟用(井字號(hào)去掉,第一行後面加入.php3)

#forphp4

AddTypeapplication/x-httpd-php.php.php3

AddTypeapplication/x-httpd-php-source.phps啟動(dòng)apache

/usr/local/apache/bin/apachectlstart

#在/etc/rc.local加入這行以便開機(jī)起動(dòng)cd/usr/local/apache/htdocs/eetest.php內(nèi)容如下

<?php

phpinfo();

?>測(cè)試

使用Browser輸入網(wǎng)址

http://203.71.169.xxx/test.php

可以看到php畫面(三)、安裝phpMyAdmincd/usr/local/apache/htdocsfetch.tw/freebsd/phpMyAdmin_2.1.0php.tar.gztar-zxvfphpMyAdmin_2.1.0php.tar.gz中文化

cdphpMyAdmin修改config.inc.php

#require("english.inc.php");

require("chinese_big5.inc.php");

修改chinese_big5.inc.php加入底下兩行

$strTableComments="Tablecomments";

$strPrintView="Printview";測(cè)試

使用Browser輸入網(wǎng)址

http://203.71.169.xxx/phpMyAdmin/index.php

可以看到phpMyAdmin畫面phpMyAdmin一定要設(shè)管理密碼,請(qǐng)自行設(shè)定(四)、順便安裝線上管理程式webmin-0.85.tar.gz(/webmin/)cd/usr/local/srcfetch.tw/freebsd/webmin-0.85.tar.gztar-zxvfwebmin-0.85.tar.gzcdwebmin-0.85./setup.sh

Configfiledirectory[/etc/webmin]:

Logfiledirectory[/var/webmin]:

Fullpathtoperl(default/usr/bin/perl):

Operatingsystem:22

Version:9

Webserverport(default10000):

Loginname(defaultadmin):master

Loginpassword:

Passwordagain:

Webserverhostname(default.tw):

StartWebminatboottime(y/n):y測(cè)試

連結(jié)http://203.71.169.xxx:10000/

WebminConfiguration=>Language可以改變語(yǔ)系為繁體中文若要移除webmin

/etc/webmin/uninstall.shApache+MySQL+PHP4+phpMyAdmin採(cǎi)用port方式安裝ee/etc/make.conf增加跟自己連線速度快的主機(jī)

MASTER_SITE_BACKUP?=\

/pub/distfiles/${DIST_SUBDIR}/\

/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\

/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\

/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\

/FreeBSD/distfiles/${DIST_SUBDIR}/\

/OS/FreeBSD/distfiles/${DIST_SUBDIR}/\

/FreeBSD/distfiles/${DIST_SUBDIR}/

MASTER_SITE_OVERRIDE?=${MASTER_SITE_BACKUP}更新port版本

pkg_add-vcvsup-bin-16.1.tgz(root/stand/sysinstall利用cdrom安裝)

cp/usr/share/examples/cvsup/ports-supfile/usr

vi/usr/ports-supfile修改

*defaulthost=ftp2.tw.FreeBSD.org

/usr/local/bin/cvsup-g-L2/usr/ports-supfile

(約10分鐘完成,隨著版本差異越大越久)安裝MySQL(hostnamemustbenamed)

cd/usr/ports/databases/mysql323-server/

eeMakefile#修改設(shè)定

CONFIGURE_ARGS=

--with-charset=big5\#增加一行對(duì)中文的支援

makeinstall

(約20分鐘完成)安裝Apache+PHP4

cd/usr/ports/www/apache13

makeinstall

cd/usr/ports/www/mod_php4

makeinstall

出現(xiàn)選擇連結(jié)項(xiàng)目=>選GDMySQLIMAPFTP安裝phpMyAdmin

cd/usr/local/www/data

fetch.tw/freebsd/phpMyAdmin_2.1.0php.tar.gz

tar-zxvfphpMyAdmin_2.1.0php.tar.gz測(cè)試

reboot後

連結(jié)http://203.71.169.xxx/phpMyAdmin/index.php可以看見mysql管理介面PHP4+MySQL+Apache/PWS/IIS安裝(Windows篇)安裝Apache+php+Mysql+phpMyAdminForWin98安裝mysql-3.23.37-win.zip

檔案下載=>/downloads/mysql-3.23.html

解壓縮到暫存資料夾後,執(zhí)行setup.exe依說明安裝。

註:此次研習(xí)所使用檔案均放置在\\dserver\php研習(xí)\安裝apache_1.3.19-win32-no_src-r2.msi

檔案下載=>/dist/httpd/binaries/win32

安裝目錄內(nèi)定為C:\ProgramFiles\ApacheGroup\Apache

注意設(shè)定檔在~conf\httpd.conf,網(wǎng)頁(yè)及php在~htdocs\下設(shè)計(jì)安裝php-4.0.5-Win32.zip

檔案下載=>/downloads.php

解壓縮到c:\php後,依照install.txt內(nèi)forapache段落安裝。安裝phpMyAdmin_2.1.0php.zip

檔案下載=>/projects/phpMyAdmin/index.html

直接解壓縮於C:\ProgramFiles\ApacheGroup\Apache\htdocs\

修改為中文顯示

在~phpMyAdmin\config.inc.php找到require("english.inc.php");

換成require("chinese_big5.inc.php");測(cè)試

先執(zhí)行C:\mysql\bin\mysqld.exe,再跑ApacheinConsole

IEBrowser輸入http://203.71.169.xxx/phpMyAdmin/index.php可以看到mysql管理介面註:在/projects/phptriad有包裝好的程式,一次安裝所有軟體,不必設(shè)定,直接使用。安裝PWS+php+Mysql+phpMyAdminForWin98安裝mysql-3.23.37-win.zip

檔案下載=>/downloads/mysql-3.23.html

解壓縮到暫存資料夾後,執(zhí)行setup.exe依說明安裝。安裝PWS(原始程式在win98source光碟\add-one\pws)

此次研習(xí)安裝路徑為\\dserver\php研習(xí)\PWS\setup.exe安裝frontpage2000serverextension安裝php-4.0.5-Win32.zip

檔案下載=>/downloads.php

解壓縮到c:\php後,依照install.txt內(nèi)forPWS段落安裝

修改C:\php\sapi\pws-php4cgi.reg路徑

=>pws-php4cgi.reg(雙擊滑鼠左鍵)

修改C:\php\sapi\pws-php4isapi.reg路徑

=>pws-php4isapi.reg(雙擊滑鼠左鍵)個(gè)人web管理員=>進(jìn)階=>新增=>如下圖記得勾選執(zhí)行選項(xiàng)

phpMyAdmin_2.1.0php.zip

=>/projects/phpMyAdmin/index.html

直接解壓縮於C:\Inetpub\wwwroot測(cè)試

先執(zhí)行C:\mysql\bin\mysqld.exe,再跑PWS

Browser輸入http://203.71.169.xxx/phpMyAdmin/index.php可以看到mysql管理介面安裝Apache+php+Mysql+phpMyAdminForNT/2000安裝mysql-3.23.37-win.zip解開php-4.0.5-Win32.zip=>c:\php將c:\php\php.ini-dist

複製改名為c:\winnt\php.iniInternet服務(wù)管理員=>webservername=>內(nèi)容=>isapi篩選器=>

新增=>php

〔主目錄〕這一頁(yè)=>〔設(shè)定〕=>〔新增〕

解開phpMyAdmin_2.1.0php.zip=>C:\InetPub\wwwrootTest!!

執(zhí)行C:\mysql\bin\mysqld-nt--install

啟用=>NETSTARTmysql

停止=>NETSTOPmysql

http://yourhost.domain/phpMyAdmin/index.phpOK!PHP程式設(shè)計(jì)參考文件官方版:/manual/en/(英文)PHP_BIBLE:http://php.wilson.gs/bible/index.php(中文)Php_script:/PHP/Scripts_and_Programs/(英文)準(zhǔn)備工作先熟悉HTML基本語(yǔ)法。php程式可以使用任何一種純文字編輯器編寫(如windows記事本),但為了方便修改程式,最好準(zhǔn)備能夠搜尋字串、顯示行列座標(biāo)的純文字編輯器如:UltraEdit,/PHPEd/。

在Unix環(huán)境則可使用vi或ee。PHP語(yǔ)法結(jié)構(gòu):

php程式必須以特別的符號(hào)開始及結(jié)束,如下1.<?echo("最簡(jiǎn)單的方法\n");?>

2.<?phpecho("要支援XHTMLorXML文件,用這種!\n");?>

3.<scriptlanguage="php">

echo("這個(gè)方法FrontPage會(huì)竄改你的程式");

</script>

4.<%echo("php3.0.4以上版本開始支援");%>說明:以上四種方法都可以,考慮未來趨勢(shì)(PEAR)建議用第2種。

若使用第四種,必須修改php.ini將asp_tags設(shè)為on程式內(nèi)一行的註解以//開始,段落註解以/*……..*/包住。可分行撰寫,敘述後面加分號(hào)(;),同一行可以有多個(gè)敘述,均以分號(hào)隔開。

第一個(gè)程式<html><body>一般文字可以直接輸出!<br><br><?php//雙斜線後面是註解,不會(huì)被看到。echo“變數(shù)由php控制<br><br>\n”;//echo是印出資料函式$a=3;$A=’+’;//字元要用引號(hào)‘’或””括住$b=4;$c=$a+$b;echo$a.$A.$b.”=”.$c;?></body></html>說明:變數(shù)前面加$號(hào),變數(shù)名稱大小寫視為不同變數(shù)。數(shù)值變數(shù)直接給數(shù)值,字串變數(shù)的值需以單(’)或雙(“)引號(hào)括住變數(shù)使用可以不必宣告,以存入的值決定變數(shù)型態(tài),例如$a為整數(shù),$A為字串。“\n”控制原始碼換行,不改變網(wǎng)頁(yè)輸出結(jié)果。變數(shù)結(jié)合以句點(diǎn).連接。問題:在IE檢視原始碼與php原始程式有何不同?單引號(hào)與雙引號(hào)括住的資料有何不同,試試印出’$a’;與”$a”;?變數(shù)型態(tài)

01整數(shù)integer

$a=

520;//10進(jìn)位integer

$b=0123;//8進(jìn)位integer等於十進(jìn)位83

$c

=

0x10;//16進(jìn)位integer等於十進(jìn)位16

02浮點(diǎn)數(shù)double

$float1

=

13.8;

$float2

=

1.4E+2;//等於140

03字串string

$str=“我是字串”;

不論單一字元或一串文字均用引號(hào)括住,特殊字元前面加反斜線\

特殊字元如下表:\n換行\(zhòng)r(CRor0x0DinASCII)\t等於按TAB定位鍵\\反斜線\$$號(hào)\”雙引號(hào)\[0-7]{1,3}八進(jìn)位ASCII碼,例如”\101”表示字母A\x[0-9A-Fa-f]{1,2}十六進(jìn)位ASCII碼,例如”\x42”表示字母BPHP4新增以<<<表示字串(Heredocstringquoting),可以定義一大推字串給某一字串變數(shù),例如:

<?php

$str=<<<HDS//這裡要斷行Exampleofstringspanningmultiplelinesusingheredocsyntax.HDS;//獨(dú)立一行echo$str;

?>練習(xí):上機(jī)測(cè)試底下敘述,並了解語(yǔ)法?

<?php/*Appendingtoit.*/$str=$str."withsomemoretext";/*Anotherwaytoappend,includesanescapednewline.*/$str.="andanewlineattheend.\n";/*Thisstringwillendupbeing'<p>Number:9</p>'*/$num=9;$str="<p>Number:$num</p>";/*Thisonewillbe'<p>Number:$num</p>'*/$num=9;$str='<p>Number:$num</p>';/*Getthefirstcharacterofastring*/$str='Thisisatest.';$first=$str[0];/*Getthelastcharacterofastring.*/$str='Thisisstillatest.';$last=$str[strlen($str)-1];//strlen($str)是求字串長(zhǎng)度函式,[]代表陣列引數(shù)?>04陣列array//一維陣列$a[0]="abc";//陣列引數(shù)(index)由0開始$a[1]="def";$b["foo"]=13;//引數(shù)可為字串$a[]="hello";//$a[2]=="hello",為指定引數(shù)則自動(dòng)遞增$a[]="world";//$a[3]=="world"http://多維陣列$a[1][0]=$f;//二維$a["foo"][2]=$f;$a[3]["bar"]=$f;$a["foo"][4]["bar"][0]=$f;//四維//陣列函式//Example1:$a["color"] ="red";$a["taste"] ="sweet";$a["shape"] ="round";$a["name"] ="apple";$a[3] =4;//Example2:$a=array("color"=>"red","taste"=>"sweet","shape"=>"round","name"=>"apple",3=>4);//多維陣列函式<?php$a=array("apple"=>array("color"=>"red","taste"=>"sweet","shape"=>"round"),"orange"=>array("color"=>"orange","taste"=>"tart","shape"=>"round"),"banana"=>array("color"=>"yellow","taste"=>"paste-y","shape"=>"banana-shaped"));echo$a["apple"]["taste"];#印出"sweet"?>05物件object物件類別需先定義,使用物件要宣告。<?phpclassCart{var$items;//Itemsinourshoppingcart//Add$numarticlesof$artnrtothecartfunctionadd_item($artnr,$num){$this->items[$artnr]+=$num;}//Take$numarticlesof$artnroutofthecartfunctionremove_item($artnr,$num){if($this->items[$artnr]>$num){$this->items[$artnr]-=$num;returntrue;}else{returnfalse;}}}$cart=newCart;//宣告$cart為Cart物件$cart->add_item("10",1);//訂購(gòu)第10樣商品1份?>變數(shù)型態(tài)轉(zhuǎn)換

$foo=1+"10.5";//$fooisdouble(11.5)$foo=1+"-1.3e3";//$fooisdouble(-1299)$foo=1+"bob-1.3e3";//$fooisinteger(1)$foo=1+"bob3";//$fooisinteger(1)$foo=1+"10SmallPigs";//$fooisinteger(11)$foo="10.0pigs"+1;//$fooisinteger(11)$foo="10.0pigs"+1.0;//$fooisdouble(11)$foo="0";//$fooisstring(ASCII48)$foo++;//$fooisthestring"1"(ASCII49)$foo+=1;//$fooisnowaninteger(2)$foo=$foo+1.3;//$fooisnowadouble(3.3)$foo=5+"10LittlePiggies";//$fooisinteger(15)$foo=5+"10SmallPigs";//$fooisinteger(15)可以這行分段印出結(jié)果

echo"\$foo==$foo;typeis".gettype($foo)."<br>\n";////TypeCasting在變數(shù)前面加(變數(shù)型態(tài)),可以改變Type$var='ciao';$arr=(array)$var;echo$arr[0];//outputs'ciao'$var='ciao';$obj=(object)$var;echo$obj->scalar;//outputs'ciao'常數(shù)

常數(shù)命名通常使用英文字母大寫,定義方法如下:<?phpdefine("CONSTANT","Helloworld.");echoCONSTANT;//outputs"Helloworld."?>PHP定義一些常數(shù)__FILE__,__LINE__,PHP_VERSION,PHP_OS,TRUE,F(xiàn)ALSE,E_ERROR,E_WARNING,E_PARSE,E_NOTICE,E_ALL請(qǐng)自行了解定義。運(yùn)算元

數(shù)值運(yùn)算元$a+$b加$a-$b減$a*$b乘$a/$b除$a%$b取餘數(shù)位元運(yùn)算子$a&$bAnd4&1->0$a|$bOr4|1->5$a^$bXor8^9->1~$aNot~4->-5$a<<$bShiftleft1<<3->8每次乘2$a>>$bShiftright5>>2->1每次減2比較運(yùn)算子$a==$b相等$a===$b相等且同type(PHP4)$a!=$b不相等$a!==$b不相等或不同type(PHP4)$a<$b小於$a>$b大於$a<=$b小於等於$a>=$b大於等於?:三元運(yùn)算(判斷式)?成立:不成立執(zhí)行系統(tǒng)指令運(yùn)算子``反單引號(hào)<?php$output=`ls-al`;//windows改成`dir`echo"<pre>$output</pre>";?>遞增減運(yùn)算子++$a先加再運(yùn)算$a++運(yùn)算完再加--$a先減再運(yùn)算$a--運(yùn)算完再減邏輯運(yùn)算子$aand$bAnd$aor$bOr$axor$bXor!$aNot$a&&$bAnd$a||$bOr其它運(yùn)算子@不顯示錯(cuò)誤訊息(加在函數(shù)前)&變數(shù)的位址指標(biāo)(加在變數(shù)前)=>陣列的元素值->物件的方法或?qū)傩?資料串接$this物件內(nèi)的呼叫器運(yùn)算優(yōu)先權(quán)(OperatorsPrecedence)當(dāng)運(yùn)算式有一個(gè)以上算符時(shí),例如:$a=1+12/3;,就必須考慮算符執(zhí)行的優(yōu)先順序,上例$a=5,因?yàn)椤?”的優(yōu)先序比”+”先,另外考慮執(zhí)行方向,像除法,分子分母順序調(diào)換,結(jié)果不一樣,對(duì)於這種執(zhí)行方向的判別,稱為結(jié)合性(Associativity)。下表中越往下優(yōu)先權(quán)越高,同一列precedence相同。結(jié)合性運(yùn)算元left,leftorleftxorleftandrightprintleft=+=-=*=/=.=%=&=|=^=~=<<=>>=left?:left||left&&left|left^left&non-associative==!====!==non-associative<<=>>=left<<>>left+-.left*/%right!~++--(int)(double)(string)(array)(object)@right[non-associativenew練習(xí)(開始沒有初值$a=?,$b=?)敘述$a=?$b=?$b+=5;5$a+=$b;55$b=$a+=10;1515$a=($b>0)?3:6;315$b=“abc”;$a=&$b;abcabc$b=”def”;defdef$b=$a[1];ee$a=&$SERVER_PORT;$b=“\x37”;807$b+=$a--;7987SERVER_PORT是環(huán)境變數(shù),使用時(shí)前面加$,環(huán)境變數(shù)可以使用phpinfo();獲得。流程控制if-else-elseifif($a>$b){print"aisbiggerthanb";$b=$a;}if($a>$b){print"aisbiggerthanb";}else{print"aisNOTbiggerthanb";}if($a>$b){print"aisbiggerthanb";}elseif($a==$b){print"aisequaltob";}else{print"aissmallerthanb";}或if($a>$b):print"aisbiggerthanb";elseif($a==$b):print"aisequaltob";else:print"aissmallerthanb";endif;練習(xí):準(zhǔn)備兩份網(wǎng)頁(yè)分別為中文版與英文版,寫一個(gè)程式判斷使用者的語(yǔ)系,送出對(duì)應(yīng)的網(wǎng)頁(yè)。

(提示:利用環(huán)境變數(shù)HTTP_ACCEPT_LANGUAGE,及

PHPManualXXVIII.HTTPfunctionsHeader();函式)。

參考答案:

<?php

if($HTTP_ACCEPT_LANGUAGE=="zh-tw")

Header("Location:/index_big5.html");

else

Header("Location:/index_en.html");

?>判斷使用者的瀏覽器類型,送出對(duì)應(yīng)的網(wǎng)頁(yè)。

(提示:利用PHPManualLXXIV.Stringfunctionsstrstr();函式)。while$i=1;while($i<=10){print$i++;/*theprintedvaluewouldbe$ibeforetheincrement(post-increment)*/}do..while$i=0;do{print$i;}while($i>0);forfor($i=1;$i<=10;$i++){print$i;}練習(xí):利用while或for迴圈將字串$str=”TodayisTuesday.”反過來印出!(提示:使用array及PHPManualLXXIV.Stringfunctionsstrlen();函式)。foreach(PHP4提供)/*foreachexample1:valueonly*/$a=array(1,2,3,17);foreach($aas$v){print"Currentvalueof\$a:$v.\n";}/*foreachexample2:value(withkeyprintedforillustration)*/$a=array(1,2,3,17);$i=0;/*forillustrativepurposesonly*/foreach($aas$v){print"\$a[$i]=>$v.\n";}/*foreachexample3:keyandvalue*/$a=array("one"=>1,"two"=>2,"three"=>3,"seventeen"=>17);foreach($aas$k=>$v){print"\$a[$k]=>$v.\n";}switchswitch($i){case0:print"iequals0";break;case1:print"iequals1";break;case2:print"iequals2";break;default:print"iisnotequalto0,1or2";}break;//跳脫一層控制迴圈continue;//忽略迴圈內(nèi)底下的敘述,回到此迴圈第一行require('header.php');//引用檔案include(“modify.inc”);//引用的檔案可以有判斷或迴圈的敘述require_once("config.php");//只允許引用檔案一次,PHP4才有include_once(“add.inc”);//同上函式

使用語(yǔ)法functionfoo($arg_1,$arg_2,...,$arg_n){//foo函式名稱不分大小寫echo"Examplefunction.\n";return$retval;}//$ret=foo($arg_1,$arg_2,...,$arg_n)//叫用傳址呼叫functionadd_some_extra(&$string){$string.='andsomethingextra.';}$str='Thisisastring,';add_some_extra($str);echo$str;//outputs'Thisisastring,andsomethingextra.'傳回多個(gè)值functionsmall_numbers(){returnarray(0,1,2);}list($zero,$one,$two)=small_numbers();變數(shù)函式<?phpfunctionfoo(){echo"Infoo()<br>\n";}functionbar($arg=''){echo"Inbar();argumentwas'$arg'.<br>\n";}$func='foo';$func();$func='bar';$func('test');?>變數(shù)使用

預(yù)先定義的變數(shù)

使用phpinfo();印出的資訊,可利用變數(shù)直接取用,例如:要知道使用端上網(wǎng)IP只要印出$REMOTE_ADDR的值。變數(shù)有效範(fàn)圍<?php$a=7;//全域變數(shù)$b=3;//全域變數(shù)FunctionSum(){global$a;//全域變數(shù),在函式內(nèi)要宣告,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論