>백엔드 개발 >PHP 튜토리얼 >PHP에서 원시 멀티파트/양식 데이터 요청을 수동으로 구문 분석하는 방법은 무엇입니까?

PHP에서 원시 멀티파트/양식 데이터 요청을 수동으로 구문 분석하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-28 19:07:29380검색

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

PHP에서 원시 멀티파트/양식 데이터 데이터를 수동으로 구문 분석

문제 개요

멀티파트/양식 데이터 형식의 원시 HTTP 요청 데이터를 구문 분석하면 PHP에서는 특히 자동으로 구문 분석되지 않는 PUT 요청을 통해 데이터를 수신할 때 까다롭습니다.

수동 구문 분석을 사용한 솔루션

PHP는 멀티파트/양식 데이터가 포함된 PUT 요청을 자동으로 처리하지 않으므로 수동으로 파싱이 필요합니다. 이를 달성하는 방법은 다음과 같습니다.

  1. 원시 데이터 읽기: file_get_contents('php://input')를 사용하여 원시 요청 데이터를 읽습니다.
  2. 경계 추출: CONTENT_TYPE 헤더를 구문 분석하여 다중 부분 데이터 세그먼트를 구분하는 경계 문자열을 얻습니다.
  3. 콘텐츠 분할: 경계 문자열을 기준으로 원시 데이터를 블록으로 나눕니다. . 후행 "--" 요소를 제거합니다.
  4. 블록 구문 분석: 각 블록을 반복하여 데이터 필드를 식별하고 구문 분석합니다.

    • 업로드된 파일: 애플리케이션/옥텟 스트림 MIME 유형을 사용하여 파일 업로드를 나타내는 일치 블록입니다. 이름 속성과 바이너리 파일 콘텐츠를 추출합니다.
    • 비파일 필드: 양식 데이터 필드가 포함된 블록을 일치시킵니다. name 속성과 해당 값을 추출합니다.

Usage

  1. parse_raw_http_request 함수에 인수로 참조로 빈 배열을 전달합니다.
  2. 함수를 호출하여 구문 분석된 데이터로 배열을 채웁니다.
  3. 양식 필드 이름에 해당하는 배열 키를 사용하여 구문 분석된 데이터에 액세스합니다.

위 내용은 PHP에서 원시 멀티파트/양식 데이터 요청을 수동으로 구문 분석하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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