Maison >développement back-end >tutoriel php >Notes sur le post-téléchargement des notes d'étude PHP

Notes sur le post-téléchargement des notes d'étude PHP

不言
不言original
2018-04-19 09:53:151668parcourir

Le contenu de cet article concerne les précautions de publication pour les notes d'étude PHP. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer

Aujourd'hui, je voulais à l'origine. utiliser Postman Simulate POST pour télécharger un ensemble de données Json sur le serveur. Il s'avère que le serveur ne peut pas accepter les données téléchargées.

Code serveur :

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

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

Il s'avère que le serveur ne reçoit jamais les données.

Tout le monde après Baidu recommande d'utiliser php://input pour lire

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

Vous pouvez également utiliser $GLOBALS['HTTP_RAW_POST_DATA'] pour obtenir des données natives POST, mais les recommandations officielles utilisent php : //input à la place ;

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

La différence entre les trois :

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

HTTP_RAW_POST_DATA

1.Besoin de définir php.ini always_populate_raw_post_data Ce n'est que lorsque la valeur est activée que cela prendra effet

2.Par rapport à php://input, il nécessite plus de mémoire

php://input

ne peut pas être utilisé avec enctype =" multipart/form-data"

$_POST

1.Impossible d'analyser le contenu des types de données non-application/x-www.form-urlencoded tels que texte/xml, application /json etc.

2.Il a été vérifié qu'il ne peut pas être utilisé pour enctype ="text/plain"

3. la requête HTTP POST est application/x-www -form-urlencoded ou multipart/form-data transmettra les variables dans le script actuel sous la forme d'un tableau associatif.

Recommandations associées :

Configuration logicielle de PHP pour l'apprentissage de PHP

notes d'étude php bases du php orienté objet



Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn