首頁  >  文章  >  後端開發  >  PHP學習筆記之Post上傳注意事項

PHP學習筆記之Post上傳注意事項

不言
不言原創
2018-04-19 09:53:151603瀏覽

這篇文章介紹的內容是關於PHP學習筆記之Post上傳注意事項,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

        今天原本是想用Postman模擬POST 上傳一組Json 資料到伺服器,結果發現上傳的資料伺服器始終接受不到。

伺服器程式碼:

<?php
	echo "<pre class="brush:php;toolbar:false">";
	var_dump($_POST);
	var_dump($_REQUEST);
	echo "
"; ?>

PostMan code:

POST /api.php/API/fish_woter_monitoring_add HTTP/1.1
Host: shrimp.cqjufy.com
Content-Type: application/json
Cache-Control: no-cache
Postman-Token: 356cd424-c710-2d33-ffa7-29157f939c56


{"SensorData": [{"equipment_ID": "20180418","PH_value": "7.28","oxygen_value": "5.03","temperature_value": "21.4"}]}

結果發現伺服器總是接收不到資料。

百度後各位大神們都是建議使用php://input 讀取

file_get_contents(&#39;php://input&#39;)

另外還可以使用$GLOBALS['HTTP_RAW_POST_DATA'] 取得POST 原生數據,不過官方建議用php ://input 代替;

$GLOBALS[&#39;HTTP_RAW_POST_DATA&#39;]

三者的區別:

$_POST 、$HTTP_RAW_POST_DATA、php://input三者之间的区别

HTTP_RAW_POST_DATA 

1.需要設定php.ini 中的  always_populate_raw_post_data 值為On 才會生效

2.比起php://input 需要更多的記憶體

##php://input

#不能用於enctype="multipart/ form-data"

$_POST

1.無法解析如text/xml,application/json等非application/x-www.form-urlencoded 資料類型的內容

2.已證明無法用於enctype="text/plain"   

3.當 HTTP POST 要求的Content-Type 是application/x-www-form -urlencoded

multipart/form-data 時,會將變數以關聯數組形式傳入目前腳本。

#相關推薦:


#########PHP學習之PHP的軟體設定############### ########################php學習筆記之物件導向_php基礎################## ######################################

以上是PHP學習筆記之Post上傳注意事項的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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