wampserver的安裝和使用
-
簡(jiǎn)介
W: Windows操作系統(tǒng) A: Apache 世界排名第一的服務(wù)器軟件,特點(diǎn)是簡(jiǎn)單,速度快,性能穩(wěn)定 M: MySQL 開(kāi)源免費(fèi)的數(shù)據(jù)庫(kù)軟件,特點(diǎn)是體積小陆盘、速度快拉庵、使用成本低 P: PHP 超文本預(yù)處理器,直接將代碼嵌入HTML文檔中執(zhí)行, 特點(diǎn)是簡(jiǎn)單易學(xué),容易上手
-
安裝
1.雙擊提供的安裝包 2.點(diǎn)擊Next 3.選擇安裝路徑(注意:路徑中不要出現(xiàn)中文) 4.勾選兩個(gè)方框,點(diǎn)擊next繼續(xù)安裝 5.點(diǎn)擊install開(kāi)始安裝 6.安裝完畢以后點(diǎn)擊finish即可啟動(dòng)wamp
-
調(diào)試
-
測(cè)試訪問(wèn)
打開(kāi)瀏覽器輸入127.0.0.1查看顯示的內(nèi)容
-
修改默認(rèn)的網(wǎng)站內(nèi)容
(1)找到D:\wamp\bin\apache\Apache2.2.21\conf\httpd.conf (2)打開(kāi)httpd.conf查找DocumentRoot找到網(wǎng)站對(duì)應(yīng)的目錄 (3)將網(wǎng)站放到d:/wamp/www/目錄下 (4)修改使用自己的index.html文件
-
配置局域網(wǎng)訪問(wèn)
(1)關(guān)閉電腦防火墻 (2)修改httpd.conf文件Deny from all為Allow from all(192行)贷笛,在httpd.conf文件234行下面添加Allow from all (3)重啟WAMP
-
修改默認(rèn)端口號(hào)
(1)在httpd.conf文件中搜索Listen , 改為你想要的數(shù)字即可 (2)重啟WAMP(注意每次修改配置文件都需要重啟)
-
get請(qǐng)求和post請(qǐng)求
- get請(qǐng)求
- get請(qǐng)求提交的數(shù)據(jù)可以在地址欄中看到
- get請(qǐng)求的數(shù)據(jù)在PHP中可以通過(guò)
$_GET["key"]
的形式獲取 - 如果
$_GET
中沒(méi)有key對(duì)應(yīng)的值會(huì)報(bào)錯(cuò)
- post請(qǐng)求
- post請(qǐng)求提交的數(shù)據(jù)不會(huì)在地址欄中顯示
- post請(qǐng)求提交的數(shù)據(jù)在PHP中可以通過(guò)
$_POST["key"]
的形式獲取 - 如果
$_POST
中沒(méi)有key對(duì)應(yīng)的值會(huì)報(bào)錯(cuò)
- 注意
- get發(fā)送的請(qǐng)求數(shù)據(jù)不能通過(guò)
$_POST
獲取
- get發(fā)送的請(qǐng)求數(shù)據(jù)不能通過(guò)
get/post區(qū)別
- 安全性
- get請(qǐng)求 : 請(qǐng)求的參數(shù)直接拼接在URL后面發(fā)送給服務(wù)器剩辟,可以通過(guò)瀏覽記錄來(lái)查看兵拢,另外如果黑客攻破了服務(wù)器拿到服務(wù)器的訪問(wèn)日志韵吨,那么所有的訪問(wèn)記錄都會(huì)被暴露主慰。
- post請(qǐng)求 : 請(qǐng)求參數(shù)存放在請(qǐng)求體中傳遞,相對(duì)安全亿乳。
- 大小限制
-
get請(qǐng)求
- 因?yàn)?特定的瀏覽器及服務(wù)器對(duì)請(qǐng)求的URL長(zhǎng)度有限制"硝拧,而get請(qǐng)求的參數(shù)又全部拼接在URL后面處理径筏。
- 所以在使用get方法網(wǎng)絡(luò)請(qǐng)求的時(shí)候,對(duì)參數(shù)的大小有限制障陶。
-
post請(qǐng)求
- 因?yàn)镻OST不是通過(guò)URL提交數(shù)據(jù),所以POST是沒(méi)有大小限制滋恬。
- HTTP協(xié)議規(guī)范也沒(méi)有進(jìn)行大小限制,起限制作用的是服務(wù)器的處理程序的處理能力抱究。
-
- 請(qǐng)求體
- get請(qǐng)求所有的參數(shù)都拼接在請(qǐng)求路徑后面恢氯,所以沒(méi)有請(qǐng)求體
- post請(qǐng)求把參數(shù)全部都放在請(qǐng)求體中傳遞。
表單發(fā)送請(qǐng)求
發(fā)送get請(qǐng)求說(shuō)明
在form表單中通過(guò)action來(lái)設(shè)置請(qǐng)求的服務(wù)器地址
默認(rèn)情況下發(fā)送的請(qǐng)求是get請(qǐng)求鼓寺,可以通過(guò)method方法來(lái)修改為使用post請(qǐng)求
如果想要提交數(shù)據(jù)(參數(shù))給服務(wù)器,那么在表單中必須要擁有name屬性,只要添加了name屬性,那么在提交數(shù)據(jù)的時(shí)候
系統(tǒng)會(huì)自動(dòng)的把name里面的key和對(duì)應(yīng)的value值拼接在一起,如果有多個(gè)參數(shù)那么就使用&來(lái)隔開(kāi)
如果是通過(guò)get提交給服務(wù)器端的數(shù)據(jù),那么在php文件可以通過(guò)$_GET全局對(duì)象獲取
如果要獲取傳入的某個(gè)元素,那么就直接使用$_GET["key"]的方式來(lái)讀取
-
示例代碼
<form action="01-get-php.php"> <input type="text" placeholder="請(qǐng)傳入用戶(hù)名" name="userName"> <input type="text" placeholder="請(qǐng)傳入密碼" name="password"> <input type="submit"> </form>
發(fā)送post請(qǐng)求
-
示例代碼
<form action="01-get-php.php" method="post"> <input type="text" placeholder="請(qǐng)傳入用戶(hù)名" name="userName"> <input type="text" placeholder="請(qǐng)傳入密碼" name="password"> <input type="submit"> </form> //服務(wù)器端具體處理 echo $_POST["userName"] echo $_POST["password"]
$_GET
獲取get請(qǐng)求提交的數(shù)據(jù)$_POST
獲取post請(qǐng)求提交的數(shù)據(jù)$_FILES
獲取post請(qǐng)求提交的文件
表單進(jìn)行文件上傳
-
說(shuō)明
01 上傳文件通過(guò)都發(fā)送post請(qǐng)求來(lái)實(shí)現(xiàn)(設(shè)置method) 02 獲取上傳的文件需要使用$_Files全局對(duì)象 03 進(jìn)行文件上傳的時(shí)候需要設(shè)置enctype屬性(multipart/from-data) 04 $_Files本身是一個(gè)對(duì)象(字典)勋拟,保存所有上傳的文件 具體的屬性:name - 文件的名稱(chēng) type - 文件的類(lèi)型 tmp_name - 文件的臨時(shí)存儲(chǔ)路徑 error- 錯(cuò)誤信息 size - 文件的大小 05 用戶(hù)上傳的文件會(huì)保存在一個(gè)臨時(shí)的文件夾中,如果用戶(hù)沒(méi)有進(jìn)行后續(xù)的處理妈候,那么這個(gè)臨時(shí)的文件將被刪除敢靡,因?yàn)榉?wù)器也有自己的容量限制,如果想要繼續(xù)使用那么需要額外處理州丹,否則就會(huì)被直接刪除醋安。 建議:可以使用move_uploaded_file($_FILES["file"]["tmp_name"],新路徑)把文件保存到安全的位置。 06 上傳大文件修改修改服務(wù)器端的限制 說(shuō)明:POST請(qǐng)求本身對(duì)文件的大小沒(méi)有限制墓毒,但是服務(wù)器端會(huì)對(duì)文件的大小進(jìn)行限制,如果要上傳大文件亲怠,那么得設(shè)置讓服務(wù)器端打開(kāi)大文件上傳的權(quán)限所计。 需要修改的文件為: 需要修改的配置為: (1)是否允許上傳 (2)上傳的最大限制 (3)post請(qǐng)求的最大限制 (4)腳本執(zhí)行的最大時(shí)間 (5)接收提交數(shù)據(jù)的時(shí)間 (6)最大內(nèi)存消耗 修改文件之后,重啟wamp服務(wù)器軟件团秽。
-
示例代碼
<form action="03-upload-php.php" method="post"> <input type="file" name="file"> <input type="submit"> </form>
Ajax
- 定義: Ajax(Async javascript and XML)是一門(mén)異步的用于發(fā)送網(wǎng)絡(luò)請(qǐng)求的技術(shù)主胧。
- UI刷新:通常情況下,每次提交表達(dá)的時(shí)候习勤,都會(huì)刷新界面踪栋,而使用ajax發(fā)送請(qǐng)求可以實(shí)現(xiàn)異步發(fā)送請(qǐng)求獲取數(shù)據(jù)而不刷新界面效果。
使用Ajax發(fā)送網(wǎng)絡(luò)請(qǐng)求的基本步驟
01 創(chuàng)建異步對(duì)象(XMLHTTPRequest)图毕,存在兼容性問(wèn)題
02 請(qǐng)求請(qǐng)求路徑(open)
03 發(fā)送請(qǐng)求(send)
04 監(jiān)聽(tīng)請(qǐng)求的狀態(tài)(onreadystatechange)
05 處理請(qǐng)求結(jié)果
onreadystatechange的幾種狀態(tài):
(1)請(qǐng)求未初始化 - 0
(2)服務(wù)器連接已經(jīng)建立 - 1
(3)請(qǐng)求已經(jīng)接收 -2
(4)請(qǐng)求處理中 -3
(5)請(qǐng)求已經(jīng)完成夷都,且響應(yīng)已經(jīng)就緒 -4
處理請(qǐng)求結(jié)果
(1)當(dāng)請(qǐng)求完成的時(shí)候再進(jìn)行處理,即readyState == 4
(2)通過(guò)響應(yīng)碼判斷只有請(qǐng)求成功的時(shí)候才進(jìn)行處理予颤,即響應(yīng)碼>=200,<300或者是=304(緩存)
(3)拿到服務(wù)器返回的響應(yīng)體:response.Text
創(chuàng)建請(qǐng)求對(duì)象的兼容性處理:
if(window.XMLHTTPRequest)
{
var request = new XMLHTTPRequest();
}else
{
var request = new ActiveXObject("Microsoft","XMLHTTP");
}
緩存處理
在IE瀏覽器中(7)囤官,如果發(fā)送的是GET請(qǐng)求,那么只要URL沒(méi)有發(fā)生變化蛤虐,那么IE瀏覽器就會(huì)認(rèn)為網(wǎng)頁(yè)的內(nèi)容也沒(méi)有發(fā)生變化党饮,因此會(huì)優(yōu)先使用緩存數(shù)據(jù),所以如果在IE瀏覽器中想讓數(shù)據(jù)實(shí)時(shí)更新(獲取到最新的數(shù)據(jù))驳庭,那么可以讓每次請(qǐng)求的URL都不一樣(即每次請(qǐng)求的URL地址不一樣)刑顺。
-
在開(kāi)發(fā)中可以使用隨機(jī)數(shù)因子或者是時(shí)間戳來(lái)添加一個(gè)額外的參數(shù)給url路徑。
- 獲取時(shí)間戳:
var date = new Date();date.valueOf()
- 獲取隨機(jī)數(shù)因子
Math.radom()
- 獲取時(shí)間戳:
-
說(shuō)明
- 為url添加隨機(jī)數(shù)或者是時(shí)間戳的目的: 讓每次請(qǐng)求的時(shí)候url的內(nèi)容都不一樣
- 參數(shù)變化唯一的作用: 讓每次發(fā)送網(wǎng)絡(luò)請(qǐng)求的時(shí)候URL都不相同,以讓服務(wù)器總是把最新的數(shù)據(jù)返回蹲堂。