搜尋
首頁後端開發PHP問題php有取得post參數的方法嗎

php有取得post參數的方法嗎

Jun 01, 2020 pm 04:52 PM
php

php有取得post參數的方法嗎

php取得post參數的幾種方式

PHP預設識別的資料型別是application/x-www .form-urlencoded標準的資料型態。

1、$_POST['paramName'] 只有在Content-Type為application/x-www-form-urlencoded或multipart/form-data的時候,PHP才會將http請求封包中的body對應部分資料填入$_POST全域變數中,其它情況PHP都忽略。填入$_POST數組中的資料是進行urldecode()解析的結果。

2、file_get_contents("php://input") 適用大多數類型的Content-type

php://input 允許讀取 POST 的原始資料。和 $HTTP_RAW_POST_DATA 比起來,它給記憶體帶來的壓力較小,並且不需要任何特殊的 php.ini 設定。 php://input 不能用於 enctype="multipart/form-data"。

3、$GLOBALS['HTTP_RAW_POST_DATA']; 總是產生 $HTTP_RAW_POST_DATA  變數包含有原始的 POST 資料。此變數僅在碰到未識別 MIME 類型的資料時產生。 $HTTP_RAW_POST_DATA  對於 enctype="multipart/form-data"  表單資料不可用。

如果post過來的資料不是PHP能夠辨識的,你可以用 $GLOBALS['HTTP_RAW_POST_DATA']來接收,例如 text/xml 或 soap 等等。需要設定php.ini中的always_populate_raw_post_data值為On,PHP才會總把POST資料填入變 量$http_raw_post_data。

看官方文檔,在高版本裡,這個變數$HTTP_RAW_POST_DATA被棄用了
This feature wasDEPRECATEDin​​ PHP 5.6.0, andREMOVEDas of PHP 7.0.0. In general,php://inputshould be used instead of$HTTP_RAW_POST_DATA.

總結:

1,Coentent-Type只在取值為application/x-www-data-urlencoded和multipart/form- data兩種情況下, PHP才會將http請求封包中對應的資料填入全域變數$_POST

2,PHP無法辨識的Content-Type類型的時候,會將http請求套件中對應的資料填入變數$ HTTP_RAW_POST_DATA

3, 只有Coentent-Type不為multipart/form-data的時候,PHP才會將http請求封包中的對應資料填入php: //input,否則其它情況都會。填入的長度,由Coentent-Length指定。

4,只有Content-Type為application/x-www-data-urlencoded時,php://input資料才 跟$_POST資料相符。

5,php://input資料總是跟$HTTP_RAW_POST_DATA相同,都只讀取Content-Type不為multipart/form-data的數據,但是php://input 比$HTTP_RAW_POST_DATA更湊效,且不需要特殊設定php.ini

6,PHP會將PATH欄位的query_path部分,填入全域變數$_GET。通常情況下,GET方法提交的http請求,body為空。

7,php://input讀取不到$_GET資料。是因為$_GET資料是作為query_path寫在http請求頭(header)的PATH字 段,而不是寫在http請求的body部分。

8、如果是application/x-www-form-urlencoded 和multipart/form-data 格式用$_POST;

9、如果不能取得的時候,例如text/xml、application /json、soap,使用file_get_contents('php://input');

推薦教學:《PHP教學

以上是php有取得post參數的方法嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具