日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

PHP-02.文件上传、php保存/转移上传的文件、常见的网络传输协议、请求报文及属性、响应报文及属性...

發(fā)布時(shí)間:2023/12/18 php 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP-02.文件上传、php保存/转移上传的文件、常见的网络传输协议、请求报文及属性、响应报文及属性... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

關(guān)系數(shù)組

  array("key"=>"value",...) ;

get沒有數(shù)據(jù)大小的限制

post上傳大小沒有限制

不指定上傳方式,默認(rèn)是get

?

文件上傳

  需要在html中 form屬性中添加 enctype = "multipart/form-data"

<!-- 上傳文件必須設(shè)置 enctype ='multipart/form-data' --><form action="text01.php" method="post" enctype="multipart/form-data"><input type="file" name="upFile" ><input type="file" name="upFileTwo" ><input type="submit" ></form>
  • 服務(wù)器端代碼
  • $_FILES["file"]["name"] - 被上傳文件的名稱
  • $_FILES["file"]["type"] - 被上傳文件的類型
  • $_FILES["file"]["size"] - 被上傳文件的大小,以字節(jié)計(jì)
  • $_FILES["file"]["tmp_name"] - 存儲(chǔ)在服務(wù)器的文件的臨時(shí)副本的名稱
  • $_FILES["file"]["error"] - 由文件上傳導(dǎo)致的錯(cuò)誤代碼

    ?

  • move_uploaded_file(移動(dòng)文件)

    • 上傳的臨時(shí)文件,一會(huì)就會(huì)被自動(dòng)刪除,我們需要將其移動(dòng)到保存的位置
    • move_uploaded_file參數(shù):
      • 參數(shù)1:移動(dòng)的文件
      • 參數(shù)2:目標(biāo)路徑 move_uploaded_file($_FILES['photo']['tmp_name'], './images/‘.test.jpg);
<?php // 讓php 延遲一會(huì)會(huì)兒// 讓php代碼 延遲一會(huì) 傳入的是 秒// sleep(3);// 輸出結(jié)果 print_r($_FILES);// $_FILES的值/*Array ( [upFile] => Array ( [name] => yangyang.jpg [type] => image/jpeg [tmp_name] => D:\wamp\tmp\phpCC56.tmp [error] => 0 [size] => 18145 ) )*/// 獲取 上傳的文件信息 關(guān)系型數(shù)組$fileArr = $_FILES['upFile'];// 獲取 上傳的文件的原本名字$fileName = $fileArr['name'];echo $fileName.'<br>';// 獲取 保存在服務(wù)器的那個(gè)位置$filePath = $fileArr['tmp_name'];echo $filePath.'<br>';// 知道 如何在php中 將文件保存// 參數(shù)2 寫的是相對(duì)的路徑 相對(duì)于該php文件 的files文件夾保存為的 123.pngmove_uploaded_file($filePath,'mydownload/'.$fileName); ?>

常見網(wǎng)絡(luò)傳輸協(xié)議

協(xié)議可以理解為一套規(guī)范,當(dāng)使用的雙反都遵守這套規(guī)范時(shí),才能夠?qū)崿F(xiàn)溝通.比如對(duì)于嘿嘿的理解不同,帶來(lái)的溝通障礙.網(wǎng)絡(luò)協(xié)議就有更多規(guī)則,需要先干什么,再干什么

  • 常見協(xié)議
    • HTTP,HTTPS超文本傳輸協(xié)議
    • FTP文件傳輸協(xié)議
    • SMTP郵件傳輸協(xié)議

監(jiān)測(cè)工具

使用監(jiān)測(cè)工具我們可以查看這些HTTP請(qǐng)求,以及編輯請(qǐng)求內(nèi)容,重新發(fā)送等

  • 瀏覽器
    • Chrome,Firefox開發(fā)工具
  • 抓包工具
    • Fiddler,Charles

請(qǐng)求/請(qǐng)求報(bào)文

請(qǐng)求有客戶端發(fā)出,主要有三個(gè)組成部分:請(qǐng)求行,請(qǐng)求頭,請(qǐng)求主體

  • 請(qǐng)求行:

    • 請(qǐng)求方法:GET
    • 請(qǐng)求URL
    • HTTP協(xié)議版本
  • 請(qǐng)求頭

    • 這里設(shè)置的主要是一些信息,包含客戶端,服務(wù)器
User-Agent:瀏覽器的具體類型  如:User-Agent:Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20100101 Firefox/17.0Accept:瀏覽器支持哪些數(shù)據(jù)類型  如:Accept: text/html,application/xhtml+xml,application/xml;q=0.9;Accept-Charset:瀏覽器采用的是哪種編碼  如:Accept-Charset: ISO-8859-1Accept-Encoding:瀏覽器支持解碼的數(shù)據(jù)壓縮格式  如:Accept-Encoding: gzip, deflateAccept-Language:瀏覽器的語(yǔ)言環(huán)境  如:Accept-Language zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3Host:請(qǐng)求的主機(jī)名,允許多個(gè)域名同處一個(gè)IP地址,即虛擬主機(jī)。Host:www.baidu.comConnection:表示是否需要持久連接。Keep-Alive/close,HTTP1.1默認(rèn)是持久連接,它可以利用持久連接的優(yōu)點(diǎn),當(dāng)頁(yè)面包含多個(gè)元素時(shí)(例如Applet,圖片),顯著地減少下載所需要的時(shí)間。要實(shí)現(xiàn)這一點(diǎn),Servlet需要在應(yīng)答中發(fā)送一個(gè)Content-Length頭,最簡(jiǎn)單的實(shí)現(xiàn)方法是:先把內(nèi)容寫入ByteArrayOutputStream,然后在正式寫出內(nèi)容之前計(jì)算它的大小。如:Connection: Keep-AliveContent-Length:表示請(qǐng)求消息正文的長(zhǎng)度。對(duì)于POST請(qǐng)求來(lái)說Content-Length必須出現(xiàn)。Content-Type:WEB服務(wù)器告訴瀏覽器自己響應(yīng)的對(duì)象的類型和字符集。例如:Content-Type: text/html; charset='gb2312'Content-Encoding:WEB服務(wù)器表明自己使用了什么壓縮方法(gzip,deflate)壓縮響應(yīng)中的對(duì)象。例如:Content-Encoding:gzipContent-Language:WEB服務(wù)器告訴瀏覽器自己響應(yīng)的對(duì)象的語(yǔ)言。Cookie:最常用的請(qǐng)求頭,瀏覽器每次都會(huì)將cookie發(fā)送到服務(wù)器上,允許服務(wù)器在客戶端存儲(chǔ)少量數(shù)據(jù)。Referer:包含一個(gè)URL,用戶從該URL代表的頁(yè)面出發(fā)訪問當(dāng)前請(qǐng)求的頁(yè)面。服務(wù)器能知道你是從哪個(gè)頁(yè)面過來(lái)的。Referer: http://www.baidu.com/
  • 請(qǐng)求體
    • 這里是提交給服務(wù)器的數(shù)據(jù)
    • 需要注意的是,如果是往服務(wù)器提交數(shù)據(jù),需要在請(qǐng)求頭中設(shè)置Content-Type: application/x-www-form-urlencoded(在ajax中需要手動(dòng)設(shè)置)

響應(yīng)/響應(yīng)報(bào)文

響應(yīng)報(bào)文是服務(wù)器發(fā)回給客戶端的.組成部分有狀態(tài)行,響應(yīng)頭,響應(yīng)主體

?

常見相應(yīng)屬性

?

Cache-Control 響應(yīng)輸出到客戶端后,服務(wù)端通過該報(bào)文頭屬告訴客戶端如何控制響應(yīng)內(nèi)容的緩存。 下面,的設(shè)置讓客戶端對(duì)響應(yīng)內(nèi)容緩存3600秒,也即在3600秒內(nèi),如果客戶再次訪問該資源,直接從客戶端的緩存中返回內(nèi)容給客戶,不要再?gòu)姆?wù)端獲取(當(dāng)然,這個(gè)功能是靠客戶端實(shí)現(xiàn)的,服務(wù)端只是通過這個(gè)屬性提示客戶端“應(yīng)該這么做”,做不做,還是決定于客戶端,如果是自己宣稱支持HTTP的客戶端,則就應(yīng)該這樣實(shí)現(xiàn))。Cache-Control: max-age=3600ETag一個(gè)代表響應(yīng)服務(wù)端資源(如頁(yè)面)版本的報(bào)文頭屬性,如果某個(gè)服務(wù)端資源發(fā)生變化了,這個(gè)ETag就會(huì)相應(yīng)發(fā)生變化。它是Cache-Control的有益補(bǔ)充,可以讓客戶端“更智能”地處理什么時(shí)候要從服務(wù)端取資源,什么時(shí)候可以直接從緩存中返回響應(yīng)。ETag: "737060cd8c284d8af7ad3082f209582d"Location我們?cè)贏sp.net中讓頁(yè)面Redirect到一個(gè)某個(gè)A頁(yè)面中,其實(shí)是讓客戶端再發(fā)一個(gè)請(qǐng)求到A頁(yè)面,這個(gè)需要Redirect到的A頁(yè)面的URL,其實(shí)就是通過響應(yīng)報(bào)文頭的Location屬性告知客戶端的,如下的報(bào)文頭屬性,將使客戶端redirect到iteye的首頁(yè)中:Location: http://www.google.com.hkSet-Cookie服務(wù)端可以設(shè)置客戶端的Cookie,其原理就是通過這個(gè)響應(yīng)報(bào)文頭屬性實(shí)現(xiàn)的。Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1HTTP響應(yīng)體:如果請(qǐng)求的是HTML頁(yè)面,那么返回的就是HTML代碼。如果是JS就是JS代碼。HTTP響應(yīng)頭:而設(shè)置Cookie,緩存等信息就是在響應(yīng)頭屬性設(shè)置的。HTTP響應(yīng)行:主要是設(shè)置響應(yīng)狀態(tài)等信息。

?

常見的響應(yīng)狀態(tài)

?

?

轉(zhuǎn)載于:https://www.cnblogs.com/mingm/p/6884180.html

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的PHP-02.文件上传、php保存/转移上传的文件、常见的网络传输协议、请求报文及属性、响应报文及属性...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。