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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

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

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

關系數組

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

get沒有數據大小的限制

post上傳大小沒有限制

不指定上傳方式,默認是get

?

文件上傳

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

<!-- 上傳文件必須設置 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>
  • 服務器端代碼
  • $_FILES["file"]["name"] - 被上傳文件的名稱
  • $_FILES["file"]["type"] - 被上傳文件的類型
  • $_FILES["file"]["size"] - 被上傳文件的大小,以字節計
  • $_FILES["file"]["tmp_name"] - 存儲在服務器的文件的臨時副本的名稱
  • $_FILES["file"]["error"] - 由文件上傳導致的錯誤代碼

    ?

  • move_uploaded_file(移動文件)

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

常見網絡傳輸協議

協議可以理解為一套規范,當使用的雙反都遵守這套規范時,才能夠實現溝通.比如對于嘿嘿的理解不同,帶來的溝通障礙.網絡協議就有更多規則,需要先干什么,再干什么

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

監測工具

使用監測工具我們可以查看這些HTTP請求,以及編輯請求內容,重新發送等

  • 瀏覽器
    • Chrome,Firefox開發工具
  • 抓包工具
    • Fiddler,Charles

請求/請求報文

請求有客戶端發出,主要有三個組成部分:請求行,請求頭,請求主體

  • 請求行:

    • 請求方法:GET
    • 請求URL
    • HTTP協議版本
  • 請求頭

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

響應/響應報文

響應報文是服務器發回給客戶端的.組成部分有狀態行,響應頭,響應主體

?

常見相應屬性

?

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

?

常見的響應狀態

?

?

轉載于:https://www.cnblogs.com/mingm/p/6884180.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。