Maison > développement back-end > tutoriel php > Comment puis-je accéder aux données POST brutes à partir de requêtes Multipart/Form-Data en PHP ?

Comment puis-je accéder aux données POST brutes à partir de requêtes Multipart/Form-Data en PHP ?

Linda Hamilton
Libérer: 2024-11-26 15:01:10
original
533 Les gens l'ont consulté

How Can I Access Raw POST Data from Multipart/Form-Data Requests in PHP?

Accès aux données de publication brutes pour les demandes de données multiparts/formulaires

Alors que PHP offre des mécanismes tels que php://input et $HTTP_RAW_POST_DATA pour la récupération données POST brutes, ces méthodes sont inefficaces pour les requêtes multipart/form-data. D'après le manuel PHP :

"[...] php://input n'est pas disponible avec enctype="multipart/form-data"."

Solution pour Multipart /Form-Data Forms

L'accès aux données brutes de ces formulaires nécessite une solution de contournement. Vous ne pouvez pas le récupérer directement car PHP l'analyse automatiquement. Cependant, vous pouvez utiliser le hack suivant :

  1. Modifiez votre configuration Apache :
<Location "/backend/XXX.php">
    SetEnvIf Content-Type ^(multipart/form-data)(.*) NEW_CONTENT_TYPE=multipart/form-data-alternate OLD_CONTENT_TYPE=
    RequestHeader set Content-Type %{NEW_CONTENT_TYPE}e env=NEW_CONTENT_TYPE
</Location>
Copier après la connexion
  1. Cela modifiera le type de contenu des requêtes envoyées à XXX .php de multipart/form-data à multipart/form-data-alternate. Cela empêchera PHP d'analyser automatiquement les données.
  2. Lisez les données brutes depuis php://input. Vous pouvez maintenant récupérer les données brutes et les analyser vous-même.

Attention :

Bien que cette solution de contournement résolve le problème de récupération des données brutes, elle entraînera un tableau $_FILES vide.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal