>백엔드 개발 >PHP 튜토리얼 >PHP 학습노트 업로드 후 주의사항

PHP 학습노트 업로드 후 주의사항

不言
不言원래의
2018-04-19 09:53:151666검색

이 글의 내용은 PHP 학습 노트와 포스트 업로드 주의 사항입니다. 이제 모든 사람과 공유합니다. 필요한 친구들이 참고할 수 있습니다.

오늘은 원래 포스트맨을 사용하여 POST를 시뮬레이션하고 업로드하려고 했습니다. Json 집합 데이터가 서버로 전송되지만 서버가 업로드된 데이터를 수락할 수 없는 것으로 나타났습니다.

서버 코드:

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

PostMan 코드:

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"}]}

서버는 데이터를 전혀 수신하지 않는 것으로 나타났습니다.

Baidu 이후 모든 사람들은 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://와 비교 입력하면 더 많은 메모리가 필요합니다.

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 학습 객체- Notes_php 기본 사항



위 내용은 PHP 학습노트 업로드 후 주의사항의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.