Maison  >  Article  >  développement back-end  >  `file_get_contents(\'php://input\')` ou `$HTTP_RAW_POST_DATA` : quelle méthode dois-je utiliser pour récupérer des données JSON ?

`file_get_contents(\'php://input\')` ou `$HTTP_RAW_POST_DATA` : quelle méthode dois-je utiliser pour récupérer des données JSON ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-25 01:19:23973parcourir

`file_get_contents(\php://input\)` ou `$HTTP_RAW_POST_DATA` : quelle méthode dois-je utiliser pour récupérer des données JSON ?

File_get_contents("php://input") Vs $HTTP_RAW_POST_DATA : Récupération des données de requête JSON

Lors du traitement des données de requête JSON, les développeurs souvent faire face à un dilemme entre utiliser file_get_contents("php://input") et $HTTP_RAW_POST_DATA. Cet article examine les avantages et les inconvénients des deux méthodes, en fournissant des conseils sur la méthode à choisir pour obtenir des résultats optimaux.

file_get_contents("php://input")

file_get_contents ("php://input") permet d'accéder directement au corps brut d'une requête. Il consomme moins de mémoire que $HTTP_RAW_POST_DATA et ne nécessite pas de directives php.ini spécifiques. Cependant, il n'est pas compatible avec le type d'enctype "multipart/form-data".

$HTTP_RAW_POST_DATA

$HTTP_RAW_POST_DATA contient le corps brut de la requête, y compris les données du formulaire et celles téléchargées. fichiers. Pour l'utiliser, il faut définir "always_populate_raw_post_data" sur -ON dans php.ini. Cette méthode n'est efficace que si la requête n'est pas "multipart/form-data".

Choisir entre les méthodes

Si vous travaillez principalement avec des données JSON et que vous faites ne nécessite pas la prise en charge de "multipart/form-data", file_get_contents("php://input") est l'option préférée en raison de sa simplicité et de son faible encombrement mémoire. D'autre part, si la compatibilité "multipart/form-data" est cruciale, $HTTP_RAW_POST_DATA est nécessaire après avoir activé "always_populate_raw_post_data" dans php.ini.

Type de demande d'envoi de données JSON

Concernant le type de requête d'envoi de données JSON via XmlHTTPRequest, les deux GET et POST peuvent être utilisés. Cependant, la méthode POST est généralement plus appropriée car elle permet des charges utiles de données plus importantes et est plus sécurisée que GET. Lorsque vous utilisez la méthode POST, assurez-vous que l'en-tête « Content-Type » est défini sur « application/json » pour indiquer que les données envoyées sont codées en JSON.

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