PHP程序設(shè)計(慕課版)(程文彬 李樹強)全套教案課件_第1頁
PHP程序設(shè)計(慕課版)(程文彬 李樹強)全套教案課件_第2頁
PHP程序設(shè)計(慕課版)(程文彬 李樹強)全套教案課件_第3頁
PHP程序設(shè)計(慕課版)(程文彬 李樹強)全套教案課件_第4頁
PHP程序設(shè)計(慕課版)(程文彬 李樹強)全套教案課件_第5頁
已閱讀5頁,還剩500頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PHP程序設(shè)計(慕課版)(程文彬李樹強)第1章PHP入門與環(huán)境搭建.ppt第2章PHP開發(fā)基礎(chǔ).ppt第3章運算符和表達(dá)式.ppt第4章流程控制語句.ppt第5章PHP數(shù)組.ppt第6章PHP與Web頁面交互.ppt第7章函數(shù).ppt第8章字符串操作.ppt第9章MySQL數(shù)據(jù)庫.ppt第10章PHP操作MySQL數(shù)據(jù)庫.ppt第11章PHP會話控制.ppt第12章面向?qū)ο蠡A(chǔ).ppt第13章Ajax技術(shù).ppt第14章綜合案例——電子商務(wù)平臺網(wǎng).ppt第15章課程設(shè)計——留言本.ppt全套可編輯PPT幻燈片課件(共15章)第1章PHP入門與環(huán)境搭建01PHP概述

02PHP程序的工作流程

03PHP開發(fā)環(huán)境構(gòu)建04常用代碼編輯工具

05第一個PHP程序

1

PHP概述PHP是什么PHP是HypertextPreprocessor(超文本預(yù)處理器)的縮寫,是一種服務(wù)器端、跨平臺、HTML嵌入式的腳本語言。其獨特的語法混合了C語言、Java語言和Perl語言的特點,是一種被廣泛應(yīng)用的開源的多用途腳本語言,尤其適合Web開發(fā)。速度快PHP語言的優(yōu)勢支持面向?qū)ο髮嵱眯灾С謴V泛的數(shù)據(jù)庫成本低版本更新速度快模板化應(yīng)用范圍廣可選擇性PHP4

PHP的版本PHP5

PHP6

HTML嵌入式的腳本語言PHP程序代碼是嵌入在HTML文件中的。輸出一行文字:<br/><?phpecho"你好PHP";?>(1)“<?php”和“?>”分別是PHP的開始標(biāo)記和結(jié)束標(biāo)記。(2)PHP程序文件的擴(kuò)展名通常使用“.php”。說明2

PHP程序的工作流程

主要內(nèi)容

PHP服務(wù)器

PHP的工作流程0102

PHP預(yù)處理器的功能是解釋PHP代碼,它主要是將PHP程序代碼解釋為文本信息,而且這些文本信息中也可以包含HTML代碼。

PHP服務(wù)器

PHP預(yù)處理器PHP服務(wù)器WEB服務(wù)器也稱為WWW(WorldWideWeb)服務(wù)器,它的功能是解析HTTP。當(dāng)WEB瀏覽器向WEB服務(wù)器發(fā)送一個HTTP請求時,PHP預(yù)處理器會對該請求對應(yīng)的程序進(jìn)行解釋并執(zhí)行,然后WEB服務(wù)器會向瀏覽器返回一個HTTP響應(yīng),該響應(yīng)通常是一個HTML頁面,以便讓用戶可以瀏覽。目前可用的WEB服務(wù)器有很多,常見的有開源的Apache服務(wù)器、微軟的IIS服務(wù)器、Tomcat服務(wù)器等。本書使用的是Apache服務(wù)器,由于Apache具有高效、穩(wěn)定、安全、免費等一些特點,它已經(jīng)成為目前最為流行的WEB服務(wù)器。

Web服務(wù)器PHP服務(wù)器數(shù)據(jù)庫服務(wù)器是用于提供數(shù)據(jù)查詢和數(shù)據(jù)管理服務(wù)的軟件,這些服務(wù)主要有數(shù)據(jù)查詢、數(shù)據(jù)管理(數(shù)據(jù)的添加、修改、刪除)、查詢優(yōu)化、事務(wù)管理、數(shù)據(jù)安全等服務(wù)。數(shù)據(jù)庫服務(wù)器有好多種,常見的有MySQL、Oracle、SQLServer、DB2、Sybase、Access等。本書使用的是MySQL數(shù)據(jù)庫,由于MySQL具有功能性強、使用簡捷、管理方便、運行速度快、版本升級快、安全性高等優(yōu)點,而且MySQL數(shù)據(jù)庫完全免費,因此許多中小型網(wǎng)站都選擇MySQL作為數(shù)據(jù)庫服務(wù)器。數(shù)據(jù)庫服務(wù)器PHP的工作流程3PHP開發(fā)環(huán)境構(gòu)建主要內(nèi)容

PHP開發(fā)環(huán)境的安裝

PHP服務(wù)器的啟動與停止

PHP開發(fā)環(huán)境的關(guān)鍵配置010203PHP開發(fā)環(huán)境的安裝安裝前的準(zhǔn)備工作WampServer的安裝安裝WampServer之前應(yīng)從其官方網(wǎng)站上下載安裝程序。下載地址為/en/download.php,目前比較新的WampServer版本是WampServer2.5。PHP服務(wù)器的啟動與停止

手動啟動和停止PHP服務(wù)器通過操作系統(tǒng)自動啟動PHP服務(wù)PHP開發(fā)環(huán)境的關(guān)鍵配置設(shè)置Apache服務(wù)器主目錄

修改Apache服務(wù)端口號

設(shè)置網(wǎng)站起始頁面

PHP的其他常用配置為MySQL服務(wù)器root賬戶設(shè)置密碼4常用代碼編輯工具主要內(nèi)容

Dreamweaver

Eclipse

ZendStudio010203

PHPEdit04DreamweaverDreamweaver是一款專業(yè)的網(wǎng)站開發(fā)編輯器。它將可視布局工具、應(yīng)用程序開發(fā)功能和代碼編輯支持組合在一起。Dreamweaver從MX版本開始支持PHP+MySQL的可視化開發(fā)。所包含的特征包括:語法加亮、函數(shù)補全,形參提示、全局查找替換、處理Flash和圖像編輯等。下載地址:/downloads/。

目前,Dreamweaver官方網(wǎng)站上發(fā)布的最新版本是DreamweaverCS6,本書所介紹的網(wǎng)頁和實例都是使用DreamweaverCS6編輯的。說明Eclipse

Eclipse是一款支持各種應(yīng)用程序開發(fā)工具的編輯器,為程序設(shè)計師提供了許多強悍的功能。它支持多語言的關(guān)鍵字和語法加亮顯示,支持查詢結(jié)果匹配部分在編輯器中的加亮顯示,支持代碼格式化功能,還具備強大的調(diào)試功能,可以設(shè)置斷點,使用單步執(zhí)行方法執(zhí)行源代碼。官方網(wǎng)站:。

ZendStudio

ZendStudio是目前公認(rèn)的最強大的PHP開發(fā)工具,具備功能強大的專業(yè)編輯工具和調(diào)試工具,包括編輯、調(diào)試、配置PHP程序所需要的客戶及服務(wù)器組件,支持PHP語法加亮顯示,尤其是功能齊全的調(diào)試功能,讓PHP錯誤不再可怕。ZendStudio是一款收費軟件,不過可以免費下載試用版。下載地址:/store/products/zend-studio.php。PHPEdit

PHPEdit是一款Windows操作系統(tǒng)下優(yōu)秀的PHP腳本IDE(集成開發(fā)環(huán)境)。該軟件為快速、便捷地開發(fā)PHP腳本提供了多種工具,其功能包括:語法關(guān)鍵詞高亮;代碼提示、瀏覽;集成PHP調(diào)試工具;幫助生成器;自定義快捷方式;150多個腳本命令;鍵盤模板;報告生成器;快速標(biāo)記;插件等。官方網(wǎng)站:。5第一個PHP程序例1-1編寫第一個PHP程序的目的是熟悉PHP的書寫規(guī)則和DreamweaverCS6工具的基本使用方法。在本實例中應(yīng)用DreamweaverCS6開發(fā)一個最簡單的PHP程序,輸出一段歡迎信息。小結(jié)本章重點講述了什么是PHP、PHP的工作流程,并詳細(xì)介紹了通過WampServer來構(gòu)建PHP程序的運行環(huán)境,通過這些內(nèi)容使讀者對PHP有一個全面的認(rèn)識。第2章PHP開發(fā)基礎(chǔ)01PHP基本語法

02PHP的數(shù)據(jù)類型

03PHP數(shù)據(jù)的輸出04PHP編碼規(guī)范

05第一個PHP程序

1

PHP基本語法主要內(nèi)容

PHP標(biāo)記符PHP注釋PHP語句和語句塊010203PHP標(biāo)記符PHP標(biāo)記符能夠讓W(xué)eb服務(wù)器識別PHP代碼的開始和結(jié)束,兩個標(biāo)記之間的所有文本都會被解釋為PHP代碼,而標(biāo)記之外的任何文本都會被認(rèn)為是普通的HTML,這就是PHP標(biāo)記的作用。PHP一共支持4種標(biāo)記風(fēng)格。

XML風(fēng)格

腳本風(fēng)格

簡短風(fēng)格010203

ASP風(fēng)格04XML風(fēng)格<?phpecho"這是標(biāo)準(zhǔn)風(fēng)格的標(biāo)記";?>腳本風(fēng)格<scriptlanguage="php">echo'這是腳本風(fēng)格的標(biāo)記';</script>簡短風(fēng)格<?echo"這是簡短風(fēng)格的標(biāo)記";?>ASP風(fēng)格<%echo"這是ASP風(fēng)格的標(biāo)記";%>PHP注釋注釋可以理解為代碼的解釋說明,一般添加到代碼的上方或代碼的尾部。使用注釋不僅能夠提高程序的可讀性,而且還有利于程序的后期維護(hù)工作。在執(zhí)行代碼時,注釋部分會被解釋器忽略,因此注釋不會影響到程序的執(zhí)行。PHP支持以下3種風(fēng)格的程序注釋:

單行注釋(//)

多行注釋(/*…*/)

Shell風(fēng)格的注釋(#)010203單行注釋(//)<?phpecho'PHP編程詞典'; //輸出字符串(但單行標(biāo)記后的注釋內(nèi)容不被輸出)?>多行注釋(/*…*/)<?php/*多行注釋內(nèi)容不被輸出*/echo'只會看到這句話。';?>Shell風(fēng)格的注釋(#)<?phpecho'這是Shell腳本風(fēng)格的注釋'; #這里的內(nèi)容是看不到的?>PHP語句和語句塊PHP程序由一條或多條PHP語句構(gòu)成,每條語句都以英文分號“;”結(jié)束。如果多條PHP語句之間存在著某種聯(lián)系,可以使用“{”和“}”將這些PHP語句包含起來形成一個語句塊。<?php{echo"你好PHP";echo"<br/>";echodate("Y-m-dH:i:s");}?>語句塊一般不會單獨使用,只有在和條件判斷語句、循環(huán)語句、函數(shù)等一起使用時,語句塊才會有意義。2

PHP的數(shù)據(jù)類型

主要內(nèi)容

標(biāo)量數(shù)據(jù)類型

復(fù)合數(shù)據(jù)類型

特殊數(shù)據(jù)類型

檢測數(shù)據(jù)類型01020304

標(biāo)量數(shù)據(jù)類型是數(shù)據(jù)結(jié)構(gòu)中最基本的單元,只能存儲一個數(shù)據(jù)。PHP中標(biāo)量數(shù)據(jù)類型包括四種。

標(biāo)量數(shù)據(jù)類型類型說明boolean(布爾型)這是最簡單的類型。只有兩個值,真值(true)和假值(false)string(字符串型)字符串就是連續(xù)的字符序列,可以是計算機(jī)能表示的一切字符的集合integer(整型)整型數(shù)據(jù)類型只能包含整數(shù)??梢允钦麛?shù)或負(fù)整數(shù)float(浮點型)浮點數(shù)據(jù)類型用來存儲數(shù)字,和整型不同的是它有小數(shù)位布爾型(boolean)布爾型是PHP中較為常用的數(shù)據(jù)類型之一。它保存一個真值true或者假值false。設(shè)定一個布爾型的變量,只需將true或者false賦值給變量即可。字符串型(string)字符串是連續(xù)的字符序列,由數(shù)字、字母和符號組成。字符串中的每個字符只占用一字節(jié)。定義字符串有三種方式:單引號(')雙引號(")定界符(<<<)$a='string1';$a="string2";$string=<<<str要輸出的字符串str整型(integer)整型數(shù)據(jù)類型只能包含整數(shù)。在32位的操作系統(tǒng)中,有效的范圍是?2147483648~+2147483647。整型數(shù)可以用十進(jìn)制、八進(jìn)制和十六進(jìn)制來表示。如果用八進(jìn)制,數(shù)字前面必須加0,如果用十六進(jìn)制,則需要加0x。浮點型(float)浮點數(shù)據(jù)類型可以用來存儲整數(shù),也可以保存小數(shù)。它提供的精度比整數(shù)大得多。浮點型數(shù)據(jù)默認(rèn)有兩種書寫格式:標(biāo)準(zhǔn)格式科學(xué)記數(shù)法格式3.141590.365?91.83.62E1859.63E?3復(fù)合數(shù)據(jù)類型復(fù)合數(shù)據(jù)類型將多個簡單數(shù)據(jù)類型組合在一起,存儲在一個變量名中,包括兩種(數(shù)組和對象)。數(shù)組(array)對象(object)特殊數(shù)據(jù)類型特殊數(shù)據(jù)類型包括兩種(資源和空值)。資源(resource)空值(null)資源是由專門的函數(shù)來建立和使用的。它是一種特殊的數(shù)據(jù)類型,并由程序員分配。在使用資源時,要及時地釋放不需要的資源。如果忘記了釋放資源,系統(tǒng)會自動啟用垃圾回收機(jī)制,避免內(nèi)存消耗殆盡。空值,表示沒有為該變量設(shè)置任何值,另外,空值(null)不區(qū)分大小寫,null和NULL效果是一樣的。檢測數(shù)據(jù)類型PHP還內(nèi)置了檢測數(shù)據(jù)類型的系列函數(shù),可以對不同類型的數(shù)據(jù)進(jìn)行檢測,判斷其是否屬于某個類型。函數(shù)檢測類型is_bool檢測變量是否為布爾類型is_string檢測變量是否為字符串類型is_float/is_double檢測變量是否為浮點類型is_integer/is_int檢測變量是否為整數(shù)is_null檢測變量是否為nullis_array檢測變量是否為數(shù)組類型is_object檢測變量是否為一個對象類型is_numeric檢測變量是否為數(shù)字或由數(shù)字組成的字符串3PHP數(shù)據(jù)的輸出主要內(nèi)容

print和echo

輸出運算符“<?=?>”0102print和echo

print語句和echo語句的作用非常相似,都用于向頁面中輸出數(shù)據(jù)。print"輸出當(dāng)前的日期和時間:";echodate("Y-m-dH:i:s");

print語句和echo語句的區(qū)別如下:(1)使用print語句一次只能輸出一個字符串,而使用echo語句可以同時輸出多個字符串,多個字符串之間用逗號隔開。(2)在echo語句前不能使用錯誤屏蔽運算符“@”。(3)print語句可以看作是一個有返回值的函數(shù),因此print語句能作為表達(dá)式的一部分,而echo語句不能。輸出運算符“<?=?>”

如果需要在HTML代碼中只嵌入一條PHP輸出語句,可以使用PHP提供的另一種便捷的方法:使用輸出運算符“<?=?>”來輸出數(shù)據(jù)。<bodybgcolor="<?='blue'?>"></body>4PHP編碼規(guī)范主要內(nèi)容

什么是編碼規(guī)范

PHP書寫規(guī)則

PHP命名規(guī)則010203什么是編碼規(guī)范以PHP開發(fā)為例,編碼規(guī)范就是融合了開發(fā)人員長時間積累下來的經(jīng)驗,形成了一種良好統(tǒng)一的編程風(fēng)格,這種良好統(tǒng)一的編程風(fēng)格會在團(tuán)隊開發(fā)或二次開發(fā)時起到事半功倍的效果。編碼規(guī)范是一種總結(jié)性的說明和介紹,并不是強制性的規(guī)則。從項目長遠(yuǎn)的發(fā)展以及團(tuán)隊效率來考慮,遵守編碼規(guī)范是十分必要的。

PHP書寫規(guī)則縮進(jìn)大括號{}關(guān)鍵字、小括號、函數(shù)、運算符PHP命名規(guī)則類命名常量命名變量命名數(shù)組命名函數(shù)命名類文件命名小結(jié)

本章主要介紹了PHP語言的基本語法、數(shù)據(jù)類型以及編碼規(guī)范。熟練掌握PHP的基本語法是學(xué)習(xí)PHP語言的第一步,通過本章的學(xué)習(xí),讀者可以從整體上對PHP的組成部分有一個清楚的認(rèn)識。第3章運算符和表達(dá)式01常量

02變量

03PHP運算符04表達(dá)式

05數(shù)據(jù)類型的轉(zhuǎn)換

1

常量主要內(nèi)容

自定義常量

預(yù)定義常量0102自定義常量

使用defined()函數(shù)判斷常量是否已經(jīng)被定義

使用define()函數(shù)聲明常量

使用constant()函數(shù)獲取常量的值使用define()函數(shù)聲明常量define(stringconstant_name,mixedvalue,case_sensitive=true)語法參數(shù)說明constant_name必選參數(shù),常量名稱,即標(biāo)志符value必選參數(shù),常量的值case_sensitive可選參數(shù),指定是否大小寫敏感,設(shè)定為True,表示不敏感使用constant()函數(shù)獲取常量的值mixedconstant(stringconst_name)語法使用defined()函數(shù)判斷常量是否已經(jīng)被定義booldefined(stringconstant_name)語法預(yù)定義常量常量名功能__FILE__默認(rèn)常量,PHP程序文件名__LINE__默認(rèn)常量,PHP程序行數(shù)PHP_VERSION內(nèi)建常量,PHP程序的版本,如“3.0.8_dev”PHP_OS內(nèi)建常量,執(zhí)行PHP解析器的操作系統(tǒng)名稱,如“Windows”TRUE這個常量是一個真值(True)FALSE這個常量是一個假值(False)NULL一個null值E_ERROR這個常量指到最近的錯誤處E_WARNING這個常量指到最近的警告處E_PARSE這個常量指解析語法有潛在問題處E_NOTICE這個常量為發(fā)生不尋常,但不一定是錯誤處2

變量

主要內(nèi)容

變量的概念

定義和使用變量

變量的賦值方式010203

可變變量04

PHP預(yù)定義變量05

其值可以改變的量稱為變量。變量為開發(fā)人員提供了一個有名字的內(nèi)存存儲區(qū),程序中可以通過變量名對內(nèi)存存儲區(qū)進(jìn)行讀、寫操作。為了確定每個變量內(nèi)存存儲區(qū)的大小,存儲區(qū)中可以存放數(shù)據(jù)范圍,以及變量可以使用的運算符。系統(tǒng)為程序中的每一個變量分配一個存儲單元,變量名實質(zhì)上就是計算機(jī)內(nèi)存單元的命名。因此,借助變量名就可以訪問內(nèi)存中的數(shù)據(jù)。

變量的概念定義和使用變量

PHP中的變量名稱用$和標(biāo)識符表示,變量名是區(qū)分大小寫的。聲明的變量不可以與已有的變量重名,否則將引起沖突。變量的名稱應(yīng)采用能反映變量含義的名稱,以利于提高程序的可讀性。如$book_name,$user_age,$shop_price等,必要時,也可以將變量的類型包含在變量名中,如$book_id_int,這樣可以直接根據(jù)變量名稱了解變量的類型。在程序中使用變量前,需要為變量賦值。變量的賦值是通過使用賦值運算符“=”實現(xiàn)的。在定義變量時也可以直接為變量賦值,此時稱之為變量的初始化。<?php

$n_sum=100;

$str1=false;

$str2="";?>變量的賦值方式

直接賦值<?php$name="mingri";$number=30;echo$name;echo$number;?><?php$str1="PHP編程詞典"; $str2=$str1;$str1="我喜歡學(xué)PHP";echo$str2; ?>傳值賦值<?php$str="學(xué)習(xí)PHP很輕松"; $str2=&$str;$str="我要大聲的告訴你:$str";echo$str2; echo"<p>"; echo$str; ?>引用賦值可變變量

可變變量是一種獨特的變量,變量的名稱并不是預(yù)先定義好的,而是動態(tài)地設(shè)置和使用??勺冏兞恳话闶侵甘褂靡粋€變量的值作為另一個變量的名稱,所以可變變量又稱為變量的變量??勺冏兞客ㄟ^在一個變量名稱前使用兩個“$”符號實現(xiàn)。<?php$change_name="php";$php="編程的關(guān)鍵因素在于學(xué)好語言基礎(chǔ)!";echo$change_name;echo$$change_name;?>PHP預(yù)定義變量

PHP還提供了很多非常實用的預(yù)定義變量,通過這些預(yù)定義變量可以獲取到用戶會話、用戶操作系統(tǒng)的環(huán)境和本地操作系統(tǒng)的環(huán)境等信息。變量的名稱說明$_SERVER['SERVER_ADDR']當(dāng)前運行腳本所在的服務(wù)器的IP地址$_SERVER['SERVER_NAME']當(dāng)前運行腳本所在服務(wù)器主機(jī)的名稱。如果該腳本運行在一個虛擬主機(jī)上,則該名稱是由虛擬主機(jī)所設(shè)置的值決定$_SERVER['REQUEST_METHOD']訪問頁面時的請求方法。如GET、HEAD、POST、PUT等,如果請求的方式是HEAD,PHP腳本將在送出頭信息后中止(這意味著在產(chǎn)生任何輸出后,不再有輸出緩沖)$_SERVER['REMOTE_ADDR']正在瀏覽當(dāng)前頁面用戶的IP地址$_SERVER['REMOTE_HOST']正在瀏覽當(dāng)前頁面用戶的主機(jī)名。反向域名解析基于該用戶的REMOTE_ADDR$_SERVER['REMOTE_PORT']用戶連接到服務(wù)器時所使用的端口$_SERVER['SCRIPT_FILENAME']當(dāng)前執(zhí)行腳本的絕對路徑名。注意:如果腳本在CLI中被執(zhí)行,作為相對路徑,如file.php或者.../file.php,$_SERVER['SCRIPT_FILENAME']將包含用戶指定的相對路徑PHP預(yù)定義變量變量的名稱說明$_SERVER['SERVER_PORT']服務(wù)器所使用的端口,默認(rèn)為80。如果使用SSL安全連接,則這個值為用戶設(shè)置的HTTP端口$_SERVER['SERVER_SIGNATURE']包含服務(wù)器版本和虛擬主機(jī)名的字符串$_SERVER['DOCUMENT_ROOT']當(dāng)前運行腳本所在的文檔根目錄。在服務(wù)器配置文件中定義$_COOKIE通過HTTPCookie傳遞到腳本的信息。這些cookie多數(shù)是由執(zhí)行PHP腳本時通過setcookie()函數(shù)設(shè)置的$_SESSION包含與所有會話變量有關(guān)的信息。$_SESSION變量主要應(yīng)用于會話控制和頁面之間值的傳遞$_POST包含通過POST方法傳遞的參數(shù)的相關(guān)信息。主要用于獲取通過POST方法提交的數(shù)據(jù)$_GET包含通過GET方法傳遞的參數(shù)的相關(guān)信息。主要用于獲取通過GET方法提交的數(shù)據(jù)$GLOBALS由所有已定義全局變量組成的數(shù)組。變量名就是該數(shù)組的索引。它可以稱得上是所有超級變量的超級集合3PHP運算符主要內(nèi)容

算術(shù)運算符

字符串運算符

賦值運算符010203

位運算符04

遞增或遞減運算符

邏輯運算符

比較運算符050607

條件運算符08

運算符優(yōu)先級09算術(shù)運算符名稱操作符實例加法運算+$a+$b減法運算-$a-$b乘法運算*$a*$b除法運算/$a/$b取余數(shù)運算%$a%$b字符串運算符

字符串運算符只有一個,即英文的句號“.”。它將兩個或多個字符串連接起來,結(jié)合到一起形成一個新的字符串。而PHP中的“+”號只做賦值運算符使用,而不能做字符串運算符。<?php $m="520abc";$n=1;$mn=$m.$n;echo$mn."<br>";$nm=$m+$n;echo$nm."<br>";?>賦值運算符操作符號實例展開形式意義賦值=$a=$b$a=$b將右邊的值賦給左邊加+=$a+=$b$a=$a+$b將右邊的值加到左邊減-=$a-=$b$a=$a-$b將右邊的值減到左邊乘*=$a*=$b$a=$a*$b將左邊的值乘以右邊除/=$a/=$b$a=$a/$b將左邊的值除以右邊連接字符.=$a.=$b$a=$a.$b將右邊的字符加到左邊取余數(shù)%=$a%=$b$a=$a%$b將左邊的值對右邊取余數(shù)位運算符符號作用實例&按位與$m&$n|按位或$m|$n^按位異或$m^$n~按位取反$m~$n<<向左移位$m<<$n>>向右移位$m>>$n遞增或遞減運算符

遞增或遞減運算符有兩種使用方法,一種是將運算符放在變量前面,即先將變量作加一或減一的運算后再將值賦給原變量,叫做前置遞增或遞減運算符;另一種是將運算符放在變量后面,即先返回變量的當(dāng)前值,然后變量的當(dāng)前值作加一或減一的運算,叫做后置遞增或遞減運算符。邏輯運算符運算符實例結(jié)果為真&&或and(邏輯與)$mand$n當(dāng)$m和$n都為真時||或or(邏輯或)$m||$n當(dāng)$m為真或者$n為真時xor(邏輯異或)$mxor$n當(dāng)$m、$n一真一假時!(邏輯非)!$m當(dāng)$m為假時比較運算符運算符實例結(jié)果為真<小于$m<$n>大于$m>$n<=小于等于$m<=$n>=大于等于$m>=$n==相等$m==$n!=不等$m!=$n===恒等$m===$n!==非恒等$m!==$n條件運算符表達(dá)式1?表達(dá)式2:表達(dá)式3語法<?php$value=100;echo($value==true)?"表達(dá)式正確":"表達(dá)式不正確";?>運算符優(yōu)先級優(yōu)先級別(從低到高)運算符1or,and,xor2賦值運算符3?:4||,&&5|,^6&7==,!=,===,!==8<,<=,>,>=9<<,>>10+,-,.11*,/,%12!,~13++,--4

表達(dá)式表達(dá)式將運算符和操作數(shù)連接起來的式子稱為表達(dá)式。表達(dá)式是構(gòu)成PHP程序語言的基本元素,也是PHP最重要的組成元素。根據(jù)運算符的不同,表達(dá)式可以分為算術(shù)表達(dá)式、字符串表達(dá)式、關(guān)系表達(dá)式、賦值表達(dá)式以及邏輯表達(dá)式等。

<?php$a="php";$b

+=1;?><?php$b=$a=

8;?>5數(shù)據(jù)類型的轉(zhuǎn)換主要內(nèi)容

自動轉(zhuǎn)換

強制轉(zhuǎn)換0102自動轉(zhuǎn)換

數(shù)據(jù)類型的自動轉(zhuǎn)換是指在定義常量或變量時,不需要指定常量或變量的數(shù)據(jù)類型,在代碼執(zhí)行過程中,PHP會根據(jù)需要將常量或變量轉(zhuǎn)換為合適的數(shù)據(jù)類型,但是在轉(zhuǎn)換時也要遵循一定的規(guī)則。

(1)布爾型數(shù)據(jù)和數(shù)值型數(shù)據(jù)在進(jìn)行算術(shù)運算時,TRUE被轉(zhuǎn)換為整數(shù)1,F(xiàn)ALSE被轉(zhuǎn)換為整數(shù)0。(2)字符串型數(shù)據(jù)和數(shù)值型數(shù)據(jù)在進(jìn)行算術(shù)運算時,如果字符串以數(shù)字開頭,將被轉(zhuǎn)換為相應(yīng)的數(shù)字;如果字符串不是以數(shù)字開頭,將被轉(zhuǎn)換為整數(shù)0。(3)在進(jìn)行字符串連接運算時,整數(shù)、浮點數(shù)將被轉(zhuǎn)換為字符串型數(shù)據(jù),布爾值TRUE將被轉(zhuǎn)換為字符串"1",布爾值FALSE和NULL將被轉(zhuǎn)換為空字符串""。(4)在進(jìn)行邏輯運算時,整數(shù)0、浮點數(shù)0.0、空字符串""、字符串"0"、NULL以及空數(shù)組將被轉(zhuǎn)換為布爾值FALSE,其他數(shù)據(jù)將被轉(zhuǎn)換為布爾值TRUE。強制轉(zhuǎn)換

應(yīng)用括號括起來的類型名稱進(jìn)行轉(zhuǎn)換轉(zhuǎn)換操作符轉(zhuǎn)換類型舉例(boolean),(bool)轉(zhuǎn)換成布爾型(boolean)$num、(bool)$str(string)轉(zhuǎn)換成字符型(string)$flo(integer),(int)轉(zhuǎn)換成整型(integer)$boo、(int)$str(float),(double),(real)轉(zhuǎn)換成浮點型(float)$str、(double)$str(array)轉(zhuǎn)換成數(shù)組(array)$str(object)轉(zhuǎn)換成對象(object)$str強制轉(zhuǎn)換

使用以val結(jié)尾的函數(shù)名的函數(shù)函數(shù)名語法格式返回值intvalintintval(mixedvar)返回var的整數(shù)值floatvalfloatfloatval(mixedvar)返回var的浮點數(shù)值strvalstringstrval(mixedvar)返回var的字符串值強制轉(zhuǎn)換

使用settype()函數(shù)boolsettype(mixedvar,stringtype)語法參數(shù)var為指定的變量。參數(shù)type為指定的類型,參數(shù)type有7個可選值:boolean、float、integer、array、null、object和string。如果轉(zhuǎn)換成功則返回true,否則返回false。參數(shù)說明小結(jié)

本章主要介紹了PHP語言的基礎(chǔ)知識,包括常量、變量、運算符和表達(dá)式,并詳細(xì)介紹了各種類型之間的轉(zhuǎn)換、系統(tǒng)預(yù)定義的常量、變量?;A(chǔ)知識是一門語言的核心,希望初學(xué)者能靜下心來,牢牢掌握本章的知識,這樣對以后的學(xué)習(xí)能起到事半功倍的效果。第4章流程控制語句01條件判斷語句

02循環(huán)控制語句

03跳轉(zhuǎn)語句和終止語句

1

條件判斷語句主要內(nèi)容

if語句

if…else語句

switch語句010203if語句if(expr) statement;語法if(expr){

statement1;

statement2;

…}流程圖if…else語句語法1if(expr){

statement1;}else{

statement2;}流程圖if…else語句語法2if(expr1){

statement1;}elseif(expr2){

statement2;}…else{

statementn;}流程圖switch語句語法switch(variable){

casevalue1: statement1; break;

casevalue2:

default: defaultstatementn;}流程圖2

循環(huán)控制語句

主要內(nèi)容

while循環(huán)語句

do…while循環(huán)語句

for循環(huán)語句

foreach循環(huán)01020304

循環(huán)結(jié)構(gòu)的應(yīng)用

05while循環(huán)語句語法while(expr){

statement}流程圖do…while循環(huán)語句語法do{

statement}while(expr);流程圖for循環(huán)語句語法for(expr1;expr2;expr3){ statement;}流程圖foreach循環(huán)語法1foreach(array_expressionas$value)

statement語法2foreach(array_expressionas$key=>$value)

statement循環(huán)結(jié)構(gòu)的應(yīng)用利用for循環(huán)語句開發(fā)一個乘法口訣表,并將算式以及計算結(jié)果打印在特定的表格中。

3跳轉(zhuǎn)語句和終止語句主要內(nèi)容

continue語句

break語句

exit語句010203continue語句

在執(zhí)行continue語句后,程序?qū)⒔Y(jié)束本次循環(huán)的執(zhí)行,并開始下一輪循環(huán)的執(zhí)行操作。<?php

for($i=1;$i<=10;$i++){

if($i==6){

continue;

}

echo$i."";

}?>break語句

break語句可以終止當(dāng)前的循環(huán),包括while、do…while、for、foreach和switch在內(nèi)的所有控制語句。<?php

for($i=1;$i<=10;$i++){

if($i==6){break;

}

echo$i."";

}?>exit語句語法voidexit([stringmessage]);<?phpecho1/0;exit("除數(shù)不能是0");echo"這條語句不會執(zhí)行";?>

exit語句的作用是終止整個PHP程序的執(zhí)行,在exit語句后的所有PHP代碼都不會執(zhí)行。小結(jié)

本章主要講述的是流程控制語句的知識。重點掌握3種流程控制語句——條件判斷語句、循環(huán)控制語句和跳轉(zhuǎn)控制語句,讀者通過對本章的學(xué)習(xí)能夠從宏觀的角度去認(rèn)識PHP語言,從整體上形成一個開發(fā)的思路,逐漸形成一種屬于自己的編程思想和編程方法。第5章PHP數(shù)組01數(shù)組概述

02創(chuàng)建一維數(shù)組

03創(chuàng)建二維數(shù)組

04遍歷與輸出數(shù)組

05數(shù)組函數(shù)及其應(yīng)用

1

數(shù)組概述主要內(nèi)容

數(shù)組是什么

數(shù)組的類型0102數(shù)組是什么變量中保存單個數(shù)據(jù),而數(shù)組中則保存的是多個變量的集合。使用數(shù)組的目的就是將多個相互關(guān)聯(lián)的數(shù)據(jù)組織在一起形成一個整體,作為一個單元使用。數(shù)組的類型PHP中將數(shù)組分為一維數(shù)組、二維數(shù)組和多維數(shù)組,但是無論是一維還是多維,可以統(tǒng)一將數(shù)組分為兩種:數(shù)字索引數(shù)組(indexedarray)和關(guān)聯(lián)數(shù)組(associativearray)。

數(shù)字索引數(shù)組

數(shù)字索引數(shù)組,下標(biāo)(鍵名)由數(shù)字組成,默認(rèn)從0開始。$arr_int=array("PHP入門與實戰(zhàn)","C#入門與實戰(zhàn)","VB入門與實戰(zhàn)");數(shù)組的類型關(guān)聯(lián)數(shù)組關(guān)聯(lián)數(shù)組的鍵名可以是數(shù)字和字符串混合的形式。$arr_string=array("PHP"=>"PHP入門與實戰(zhàn)","Java"=>"Java入門與實戰(zhàn)","C#"=>"C#入門與實戰(zhàn)");2

創(chuàng)建一維數(shù)組

主要內(nèi)容

通過數(shù)組標(biāo)識符“[]”創(chuàng)建數(shù)組

使用array()函數(shù)創(chuàng)建數(shù)組0102

PHP中的一種比較靈活的數(shù)組聲明方式是通過數(shù)組標(biāo)識符“[]”直接為數(shù)組元素賦值。

通過數(shù)組標(biāo)識符“[]”創(chuàng)建數(shù)組$arr[key]=value;$arr[]=value;語法使用array()函數(shù)創(chuàng)建數(shù)組arrayarray([mixed...])語法

參數(shù)mixed的格式為“key=>value”,多個參數(shù)mixed用逗號分開。(1)數(shù)組中的索引(key)可以是字符串或數(shù)字。(2)數(shù)組中的各數(shù)據(jù)元素的數(shù)據(jù)類型可以不同,也可以是數(shù)組類型。說明3創(chuàng)建二維數(shù)組主要內(nèi)容

通過數(shù)組標(biāo)識符“[]”創(chuàng)建二維數(shù)組

使用array()函數(shù)創(chuàng)建二維數(shù)組0102

通過數(shù)組標(biāo)識符“[]”創(chuàng)建二維數(shù)組的方法就是將數(shù)組元素的值設(shè)置為另一個數(shù)組。

通過數(shù)組標(biāo)識符“[]”創(chuàng)建二維數(shù)組使用array()函數(shù)創(chuàng)建二維數(shù)組$str=array("PHP類圖書"=>array("PHP從入門到精通","PHP典型模塊","PHP標(biāo)準(zhǔn)教程"),"JAVA類圖書"=>array("a"=>"JAVA范例手冊","b"=>"JAVAWEB范例寶典"),"ASP類圖書"=>array("ASP從入門到精通",2=>"ASP范例寶典","ASP典型模塊"));4遍歷與輸出數(shù)組主要內(nèi)容

遍歷數(shù)組

輸出數(shù)組0102遍歷數(shù)組

使用foreach結(jié)構(gòu)遍歷數(shù)組

通過數(shù)組函數(shù)list()和each()遍歷數(shù)組

list()函數(shù)將數(shù)組中的值賦給一些變量。each()函數(shù)返回數(shù)組中當(dāng)前指針位置的鍵名和對應(yīng)的值,并向前移動數(shù)組指針。voidlist(mixed...)語法arrayeach(arrayarray)輸出數(shù)組

print_r()函數(shù)boolprint_r(mixedexpression)語法

var_dump()函數(shù)voidvar_dump(mixedexpression[,mixedexpression[,…]])語法5數(shù)組函數(shù)及其應(yīng)用主要內(nèi)容

創(chuàng)建數(shù)組的函數(shù)

數(shù)組統(tǒng)計函數(shù)

數(shù)組指針函數(shù)010203

數(shù)組和變量之間的轉(zhuǎn)換04

數(shù)組檢索函數(shù)

數(shù)組排序函數(shù)

數(shù)組與數(shù)據(jù)結(jié)構(gòu)050607

數(shù)組集合函數(shù)08創(chuàng)建數(shù)組的函數(shù)

range()函數(shù)arrayrange(intlow,inthigh[,intstep])語法

array_combine()函數(shù)arrayarray_combine(arraykeys,arrayvalues)語法創(chuàng)建數(shù)組的函數(shù)

array_fill()函數(shù)arrayarray_fill(intstart_index,intnum,mixedvalue)語法

array_pad()函數(shù)arrayarray_pad(arrayinput,intpad_size,mixedpad_value)語法創(chuàng)建數(shù)組的函數(shù)

explode()函數(shù)arrayexplode(stringseparator,stringstr,[intlimit])語法數(shù)組統(tǒng)計函數(shù)

count()函數(shù)intcount(mixedarray[,intmode])語法

max()函數(shù)mixedmax(arrayarr[,array…])語法數(shù)組統(tǒng)計函數(shù)

min()函數(shù)mixedmin(arrayarr[,array…])語法

array_sum()函數(shù)mixedarray_sum(arrayarray)語法數(shù)組統(tǒng)計函數(shù)

array_count_values()函數(shù)arrayarray_count_values(arrayinput)語法數(shù)組指針函數(shù)

key()函數(shù)mixedkey(arrayarray)語法

current()函數(shù)mixedcurrent(arrayarray)語法數(shù)組指針函數(shù)

next()函數(shù)mixednext(arrayarray)語法

end()函數(shù)mixedend(arrayarray)語法數(shù)組指針函數(shù)

prev()函數(shù)mixedprev(arrayarray)語法

reset()函數(shù)mixedreset(arrayarray)語法數(shù)組和變量之間的轉(zhuǎn)換

extract()函數(shù)intextract(arrayarray)語法

compact()函數(shù)arraycompact(mixedvarname[,mixed...])語法數(shù)組檢索函數(shù)

array_keys()函數(shù)arrayarray_keys(arrayinput[,mixedsearch_value])語法

array_values()函數(shù)arrayarray_values(arrayarray)語法數(shù)組檢索函數(shù)

in_array()函數(shù)boolin_array(mixedneedle,arrayarray[,boolstrict])語法

array_search()函數(shù)mixedarray_search(mixedneedle,arrayhaystack[,boolstrict])語法數(shù)組檢索函數(shù)

array_key_exists()函數(shù)boolarray_key_exists(mixedkey,arraysearch)語法

array_unique()函數(shù)arrayarray_unique(arrayarray)語法數(shù)組排序函數(shù)

sort()函數(shù)boolsort(array&array[,intsort_flags])語法

asort()函數(shù)boolasort(array&array[,intsort_flags])語法數(shù)組排序函數(shù)

rsort()和arsort()函數(shù)rsort()函數(shù)與sort()函數(shù)的語法格式相同,arsort()函數(shù)和asort()函數(shù)的語法格式相同,不同的是rsort()和arsort()函數(shù)是根據(jù)數(shù)組元素值以降序進(jìn)行排序。

ksort()和krsort()函數(shù)boolksort(array&array[,intsort_flags])語法數(shù)組排序函數(shù)

natsort()和natcasesort()函數(shù)boolnatsort(array&array[,intsort_flags])語法

shuffle()函數(shù)boolshuffle(array&array[,intsort_flags])語法數(shù)組排序函數(shù)

array_reverse()函數(shù)arrayarray_reverse(arrayarray[,boolpreserve_keys])語法07數(shù)組與數(shù)據(jù)結(jié)構(gòu)

array_push()函數(shù)intarray_push(arrayarray,mixedvar[,mixed...])語法

array_pop()函數(shù)mixedarray_pop(arrayarray)語法數(shù)組與數(shù)據(jù)結(jié)構(gòu)

array_shift()函數(shù)mixedarray_shift(arrayarray)語法

array_unshift()函數(shù)intarray_unshift(arrayarray,mixedvar[,mixed...])語法數(shù)組集合函數(shù)

array_merge()函數(shù)arrayarray_merge(arrayarray1[,arrayarray2[,array...]])語法

array_diff()函數(shù)arrayarray_diff(arrayarray1,arrayarray2[,arrayarrayX...])語法數(shù)組集合函數(shù)

array_diff_assoc()函數(shù)arrayarray_diff_assoc(arrayarray1,arrayarray2[,arrayarrayX...])語法

array_diff_key()函數(shù)arrayarray_diff_key(arrayarray1,arrayarray2[,arrayarrayX...])語法數(shù)組集合函數(shù)

array_intersect()函數(shù)arrayarray_intersect(arrayarray1,arrayarray2[,arrayarrayX...])語法

array_intersect_assoc()函數(shù)arrayarray_intersect_assoc(arrayarray1,arrayarray2[,arrayarrayX...])語法數(shù)組集合函數(shù)

array_intersect_key()函數(shù)arrayarray_intersect_key(arrayarray1,arrayarray2[,arrayarrayX...])語法07小結(jié)

本章的重點是數(shù)組的常用操作,這些操作會在實際應(yīng)用中經(jīng)常用到。另外,PHP提供了大量的數(shù)組函數(shù),完全可以在開發(fā)任務(wù)中輕松實現(xiàn)所需要的功能。希望通過本章的學(xué)習(xí),讀者能夠舉一反三,對所學(xué)知識進(jìn)行靈活運用,開發(fā)實用的PHP程序。第6章PHP與Web頁面交互01表單數(shù)據(jù)的提交方式

02應(yīng)用PHP全局變量獲取表單數(shù)據(jù)

03使用表單04實現(xiàn)文件的上傳

05服務(wù)器端獲取數(shù)據(jù)的其他方法

1表單數(shù)據(jù)的提交方式主要內(nèi)容

GET方法提交表單數(shù)據(jù)

POST方法提交表單數(shù)據(jù)

POST方法與GET方法的使用區(qū)別

010203GET方法提交表單數(shù)據(jù)http://url?name1=value1&name2=value2……傳參格式<formname="form1"method=“get"action="index.php">……</form>POST方法提交表單數(shù)據(jù)<formname="form1"method="post"action="index.php">……</form>POST方法與GET方法的使用區(qū)別POST方法發(fā)送變量數(shù)據(jù)時,安全性要好得多,而且使用POST方法向Web服務(wù)器發(fā)送數(shù)據(jù)的大小不受限制。GET方法是在訪問URL時使用瀏覽器地址欄傳遞值。另外,GET方法不支持ASCII字符之外的任何字符。2應(yīng)用PHP全局變量獲取表單數(shù)據(jù)主要內(nèi)容

$_POST[]全局變量

$_GET[]全局變量

0102使用PHP的$_POST[]全局變量可以獲取表單元素的值。$_POST[]全局變量<?php$user=$_POST["user"];?>$_GET[]全局變量PHP使用$_GET[]全局變量獲取通過GET方法傳遞的值。<?php$user=$_GET["user"];?>

PHP可以應(yīng)用$_POST[]或$_GET[]全局變量來獲取表單元素的值。但值得注意的是,獲取的表單元素名稱區(qū)分字母大小寫。如果在編寫Web程序時忽略字母大小寫,那么在程序運行時將獲取不到表單元素的值或彈出錯誤提示信息。注意3

使用表單主要內(nèi)容

創(chuàng)建表單

表單元素

使用數(shù)組提交表單數(shù)據(jù)010203

表單綜合應(yīng)用04創(chuàng)建表單<formname="form_name"method="method"action="url"enctype="value"target="target_win"id="id">

……</form>表單結(jié)構(gòu)<form>標(biāo)記屬性說明name表單的名稱method設(shè)置表單的提交方式,GET或者POST方法action指向處理該表單頁面的URL(相對地址或者絕對地址)enctype設(shè)置表單內(nèi)容的編碼方式target設(shè)置返回信息的顯示方式id表單的ID號表單元素

文字域text01<inputtype=”text”name=”field_name”maxlength=max_valuesize=size_valuevalue=”field_value”>語法示例代碼<inputname="user"type="text"value="純凈水"size="12"maxlength="1000">運行效果

表單元素

密碼域password02<inputtype=”password”name=”field_name”maxlength=max_valuesize=size_value>語法示例代碼<inputname="pwd"type="password"size="12"maxlength="20">運行效果

表單元素

單選按鈕radio03<inputtype=”radio”name=”field_name”checkedvalue=”value”>語法示例代碼<inputname="sex"type="radio"value="1"checked/>男<inputname="sex"type="radio"value="0"/>女運行效果

表單元素

復(fù)選框checkbox04<inputtype=”checkbox”name=”field_name”checkedvalue=”value”>語法示例代碼

<inputname="interest1"type="checkbox"value="sports"checked/>體育<inputname="interest2"type="checkbox"value="music"checked/>音樂<inputname="interest3"type="checkbox"value="film"/>影視運行效果

表單元素

普通按鈕button05<inputtype=”button”name=”field_name”value=”button_text”>語法示例代碼<inputtype="button"name="Submit"value="按鈕"/>運行效果

表單元素

提交按鈕submit06<inputtype=”submit”name=”field_name”value=”submit_text”>語法示例代碼<inputtype="submit"name="Submit"value="提交"/>運行效果

表單元素

重置按鈕reset07<inputtype=”reset”name=”field_name”value=”reset_text”>語法示例代碼<inputtype="reset"name="Submit"value="重置"/>運行效果

表單元素

圖像域image08<inputtype=”image”name=”field_name”src=”image_url”>語法示例代碼<inputname="imageField"type="image"src="images/log.gif"width="120"height="24"border="0"/>運行效果

表單元素

隱藏域hidden09<inputtype=”hidden”name=”field_name”value=”value”>語法

表單中的隱藏域主要用來傳遞一些參數(shù),而這些參數(shù)不需要在頁面中顯示。例如隱藏用戶的id值,寫法如下:<inputtype=”hidden”name=”user_id”value=”101”>說明表單元素

文件域file10<inputtype=”file”name=”field_name”maxlength=max_valuesize=size_value>語法

要實現(xiàn)文件的上傳功能,必須將表單標(biāo)簽<form>的enctype屬性值設(shè)置為multipart/form-data,method屬性值設(shè)置為POST。注意示例代碼<inputname="file"type="file"size="16"maxlength="200"/>運行效果

表單元素

文本域標(biāo)記<textarea>11<textareaname=”textname”rows=rows_valuecols=cols_value>content</textarea>語法示例代碼<textareaname="remark"cols="20"rows="4">請輸入您的建議!</textarea>運行效果

表單元素

選擇域標(biāo)記<select>和<option>12<selectname="name"size="value"multiple><optionvalue="value"selected>選項1</option><optionvalue="value">選項2</option><optionvalue="value">選項3</option>…</select>語法使用數(shù)組提交表單數(shù)據(jù)<formname="myform"method="post"><inputname="interest[]"type="checkbox"value="sports"/>體育<inputname="interest[]"type="checkbox"value="music"/>音樂<inputname="interest[]"type="checkbox"value="film"/>影視<br/><inputname="pic[]"type="file"/><br/><inputname="pic[]"type="file"/><br/><inputname="pic[]"type="file"/></form>表單綜合應(yīng)用應(yīng)用$_POST[]全局變量獲取用戶輸入的個人信息。

4實現(xiàn)文件的上傳主要內(nèi)容

上傳文件相關(guān)配置

全局變量$_FILES

實現(xiàn)PHP文件的上傳010203上傳文件相關(guān)配置在php.ini中,定位到FileUploads項,完成對上傳相關(guān)選項的設(shè)置。上傳相關(guān)選項的含義如下:

file_uploads:如果值是on,說明服務(wù)器支持文件上傳;如果為off,則不支持。一般默認(rèn)是支持的。upload_tmp_dir:上傳文件臨時目錄。upload_max_filesize:服務(wù)器允許上傳文件的最大值,以MB為單位。全局變量$_FILES元素名說明$_FILES['filename']['name']存儲上傳文件的文件名。如text.txt、title.jpg等$_FILES['filename']['size']存儲文件大小,單位為字節(jié)$_FILES['filename']['tmp_name']存儲文件在臨時目錄中使用的文件名。因為文件在上傳時,首先要將其以臨時文件的身份保存在臨時目錄中$_FILES['filename']['type']存儲上傳文件的MIME類型,MIME類型規(guī)定各種文件格式的類型。每種MIME類型都是由“/”分隔的主類型和子類型組成的。例如:“image/gif”,主類型為“圖像”,子類型為GIF格式的文件,“text/html”代表HTML格式的文本文件$_FILES['filename']['error']存儲了上傳文件的結(jié)果。如果返回0,則說明文件上傳成功實現(xiàn)PHP文件的上傳

is_uploaded_file()函數(shù)boolis_uploaded_file(stringfilename)語法實現(xiàn)PHP文件的上傳

move_uploaded_file()函數(shù)boolmove_uploaded_file(stringfilename,stringdestination)語法

如果參數(shù)filename不是合法的上傳文件,不會執(zhí)行任何操作,move_uploaded_file()將返回FALSE。如果參數(shù)filename是合法的上傳文件,但出于某些原因無法移動,同樣也不會執(zhí)行任何操作,move_uploaded_file()將返回FALSE,此外還會發(fā)出一條警告。說明

5服務(wù)器端獲取數(shù)據(jù)的其他方法主要內(nèi)容

$_REQUEST[]全局變量

$_SERVER[]全局變量0102$_REQUEST[]全局變量

可以用$_REQUEST[]全局變量獲取GET方法、POST方法和httpCookie傳遞到腳本的信息。如果在編寫程序時,不能確定是通過什么方法提交數(shù)據(jù)的,那么就可以通過$_REQUEST[]全局變量獲取提交到當(dāng)前頁面的數(shù)據(jù)。$_SERVER[]全局變量數(shù)組元素說明$_SERVER['SERVER_ADDR']當(dāng)前運行腳本所在的服務(wù)器的IP地址$_SERVER['SERVER_NAME']當(dāng)前運行腳本所在服務(wù)器主機(jī)的名稱。如果該腳本運行在一個虛擬主機(jī)上,該名稱由那個虛擬主機(jī)所設(shè)置的值決定$_SERVER['REQUEST_METHOD']訪問頁面時的請求方法。例如:“GET”、“HEAD”、“POST”、“PUT”。如果請求的方式是HEAD,PHP腳本將在送出頭信息后中止(這意味著在產(chǎn)生任何輸出后,不再有輸出緩沖)$_SERVER['REMOTE_ADDR']正在瀏覽當(dāng)前頁面用戶的IP地址$_SERVER['REMOTE_HOST']正在瀏覽當(dāng)前頁面用戶的主機(jī)名。反向域名解析基于該用戶的REMOTE_ADDR$_SERVER[]全局變量數(shù)組元素說明$_SERVER['REMOTE_PORT']用戶連接到服務(wù)器時所使用的端口$_SERVER['SCRIPT_FILENAME']當(dāng)前執(zhí)行腳本的絕對路徑名。注意:如果腳本在CLI中被執(zhí)行,作為相對路徑,如file.php或者../file.php,$_SERVER['SCRIPT_FILENAME']將包含用戶指定的相對路徑$_SERVER['SERVER_PORT']服務(wù)器所使用的端口,默認(rèn)為“80”。如果使用SSL安全連接,則這個值為用戶設(shè)置的HTTP端口$_SERVER['SERVER_SIGNATURE']包含服務(wù)器版本和虛擬主機(jī)名的字符串$_SERVER['DOCUMENT_ROOT']當(dāng)前運行腳本所在的文檔根目錄,在服務(wù)器配置文件中定義小結(jié)

本章主要介紹了創(chuàng)建表單及表單元素、通過POST方法和GET方法提交表單數(shù)據(jù)以及文件上傳的實現(xiàn)。通過本章的學(xué)習(xí),讀者可以掌握PHP與Web頁面的交互,為深入學(xué)習(xí)PHP打下扎實的基礎(chǔ)。第7章函數(shù)01函數(shù)簡介

02

自定義函數(shù)

03PHP文件的引用1函數(shù)簡介主要內(nèi)容

什么是函數(shù)

函數(shù)的分類

0102什么是函數(shù)

把一段可以實現(xiàn)指定功能的代碼封裝在函數(shù)內(nèi),直接調(diào)用函數(shù)即可實現(xiàn)指定的功能。函數(shù)的分類PHP中的函數(shù)系統(tǒng)的內(nèi)置函數(shù)自定義函數(shù)變量函數(shù)2自定義函數(shù)主要內(nèi)容

自定義函數(shù)的定義

自定義函數(shù)的參數(shù)

0103

變量的作用域

05

自定義函數(shù)的調(diào)用

自定義函數(shù)的返回值0204

變量函數(shù)

06自定義函數(shù)的定義

溫馨提示

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

評論

0/150

提交評論