PHP에서 원시 멀티파트/양식 데이터 데이터를 수동으로 구문 분석
문제 개요
멀티파트/양식 데이터 형식의 원시 HTTP 요청 데이터를 구문 분석하면 PHP에서는 특히 자동으로 구문 분석되지 않는 PUT 요청을 통해 데이터를 수신할 때 까다롭습니다.
수동 구문 분석을 사용한 솔루션
PHP는 멀티파트/양식 데이터가 포함된 PUT 요청을 자동으로 처리하지 않으므로 수동으로 파싱이 필요합니다. 이를 달성하는 방법은 다음과 같습니다.
-
원시 데이터 읽기: file_get_contents('php://input')를 사용하여 원시 요청 데이터를 읽습니다.
- 경계 추출: CONTENT_TYPE 헤더를 구문 분석하여 다중 부분 데이터 세그먼트를 구분하는 경계 문자열을 얻습니다.
-
콘텐츠 분할: 경계 문자열을 기준으로 원시 데이터를 블록으로 나눕니다. . 후행 "--" 요소를 제거합니다.
-
블록 구문 분석: 각 블록을 반복하여 데이터 필드를 식별하고 구문 분석합니다.
-
업로드된 파일: 애플리케이션/옥텟 스트림 MIME 유형을 사용하여 파일 업로드를 나타내는 일치 블록입니다. 이름 속성과 바이너리 파일 콘텐츠를 추출합니다.
-
비파일 필드: 양식 데이터 필드가 포함된 블록을 일치시킵니다. name 속성과 해당 값을 추출합니다.
Usage
- parse_raw_http_request 함수에 인수로 참조로 빈 배열을 전달합니다.
- 함수를 호출하여 구문 분석된 데이터로 배열을 채웁니다.
- 양식 필드 이름에 해당하는 배열 키를 사용하여 구문 분석된 데이터에 액세스합니다.
위 내용은 PHP에서 원시 멀티파트/양식 데이터 요청을 수동으로 구문 분석하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!