⑴ php如何接收別的伺服器post過來的數據 - 技術問答
通常情況下用戶使用瀏覽器網頁表單向伺服器post提交數據,我們使用PHP的$_POST接收用戶POST到伺服器的數據,並進行適當的處理。但有些情況下,如用戶使用客戶端軟體向服務端php程序發送post數據,而不能用$_POST來識別,那又該如何處理呢?
我們介紹php接受post數據的三種方式:
1.$_POST方式接收數據
$_POST方式是通過 HTTP POST 方法傳遞的變數組成的數組,是自動全局變數。如使用$_POST[『name』]就可以接收到網頁表單以及網頁非同步方式post過來的數據,
即$_POST只能接收文檔類型為Content-Type: application/x-www-form-urlencoded提交的數據,也就是表單POST過來的數據。
2.$GLOBALS[『HTTP_RAW_POST_DATA』]方式接收數據
但$GLOBALS[『HTTP_RAW_POST_DATA』]中是否保存POST過來的數據取決於centent-Type的設置,只有在PHP在無法識別的Content-Type的情況下,才會將POST過來的數據原樣地填入變數$GLOBALS[『HTTP_RAW_POST_DATA』]中,像Content-Type=application/x-www-form-urlencoded時,該變數是空的。
另外,它同樣無法讀取Content-Type為multipart/form-data的POST數據,也需要設置php.ini中的always_populate_raw_post_data值為On,PHP才會總把POST數據填入變數$http_raw_post_data。
3.php://input方式接收數據
如果訪問原始 POST 數據的更好方法是 php://input。php://input 允許讀取 POST 的原始數據。和 $HTTP_RAW_POST_DATA 比起來,它給內存帶來的壓力較小,並且不需要任何特殊的php.ini設置,php://input不能用於 enctype=」multipart/form-data」。對於未指定 Content-Type 的POST數據,則可以使用file_get_contents(「php://input」)來獲取原始數據。事實上,用PHP接收POST的任何數據都可以使用本方法。而不用考慮Content-Type,包括二進制文件流也可以。php://input讀取不到$_GET數據。是因為$
⑵ 伺服器如何接收GPS定位器發送過來的數據
架設伺服器平台,很簡單;這里介紹一個 GPSBD衛星定位監控系統Simple版本的定位系統
他們系統是JAVA開發,首先伺服器需要搭建JAVA環境,Mysql資料庫,以及Reids緩存服務;
然後啟動程序文件,一步一步操作即可;經過測試系統基本上市面上的各類GPS北斗定位設備都是支持的
在自己伺服器搭建好GPS平台以後,就可以將設備的IP 埠配置到自己伺服器對應的IP埠上,這樣設備數據就會發往伺服器,然後通過這套GPS定位系統就可以查看位置了