Comment analyser manuellement les requêtes brutes Multipart/Form-Data en PHP ?

Mary-Kate Olsen
Libérer: 2024-10-28 19:07:29
original
293 Les gens l'ont consulté

How to Manually Parse Raw Multipart/Form-Data Requests in PHP?

Analyse manuelle des données brutes de données multiparts/formulaires en PHP

Aperçu du problème

L'analyse des données brutes de requête HTTP au format multiparts/form-data peut être difficile en PHP, en particulier lors de la réception de données via une requête PUT qui n'est pas automatiquement analysée.

Solution avec analyse manuelle

Comme PHP ne gère pas automatiquement les requêtes PUT avec multipart/form-data, manuel l'analyse est nécessaire. Voici comment y parvenir :

  1. Lire les données brutes : Utilisez file_get_contents('php://input') pour lire les données brutes de la requête.
  2. Extraire la limite : Analysez l'en-tête CONTENT_TYPE pour obtenir la chaîne de limite qui sépare les segments de données en plusieurs parties.
  3. Diviser le contenu : Divisez les données brutes en blocs en fonction de la chaîne de limite . Supprimez l'élément "--" de fin.
  4. Analyser les blocs : Parcourez chaque bloc pour identifier et analyser les champs de données :

    • Fichiers téléchargés : Faites correspondre les blocs qui indiquent les téléchargements de fichiers à l'aide du type MIME application/octet-stream. Extrayez l'attribut de nom et le contenu du fichier binaire.
    • Champs non-fichiers : Faites correspondre les blocs contenant des champs de données de formulaire. Extrayez l'attribut name et la valeur correspondante.

Usage

  1. Passez un tableau vide par référence comme argument à la fonction parse_raw_http_request.
  2. Appelez la fonction pour remplir le tableau avec les données analysées.
  3. Accédez aux données analysées à l'aide des clés du tableau correspondant aux noms de champs du formulaire.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!