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中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

Dreamweaver Mac版
視覺化網頁開發工具

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

SublimeText3 Linux新版
SublimeText3 Linux最新版

Atom編輯器mac版下載
最受歡迎的的開源編輯器

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具