PHP에서 php://input을 사용하여 동일한 이름의 양식 데이터 처리하기 value_php 팁
지난해 10월 제 블로그에서 동일한 프런트 엔드 이름 값을 가진 양식 제출 데이터를 수신하는 PHP 처리 문제를 분석한 적이 있습니다. 당시 언급된 해결 방법은 이름 값을 변경하는 것이었습니다. 배열 유형인 php로 수신한 후 배열이 병합됩니다. 이 방법의 단점은 프런트 엔드 양식과 완전히 호환되지 않으며 사용자가 양식을 변경해야 한다는 것입니다. 시스템 요구 사항은 모든 업그레이드가 사용자에게 완전히 투명해야 한다는 것이므로 이 방법은 아직 완벽하지 않습니다.
거의 1년 동안의 축적 끝에 저는 php가 입력/출력 스트림에 액세스하는 원시적인 방법을 제공한다는 사실을 발견했습니다. php://input:
을 통해 POST 데이터를 얻을 수 있습니다.
php://input은 요청된 원시 데이터에 대한 액세스를 제공하는 읽기 전용 스트림입니다. POST 요청의 경우 $HTTP_RAW_POST_DATA 대신 php://input을 사용하는 것이 더 좋습니다. 이는 특정 php.ini 지시어에 의존하지 않기 때문입니다. 또한 이 경우 $HTTP_RAW_POST_DATA는 기본적으로 채워지지 않으므로 Always_populate_raw_post_data를 활성화하는 것보다 메모리가 덜 필요할 수 있습니다. enctype=”multipart/form-data”인 경우 php://input이 유효하지 않습니다.
php://input으로 열린 데이터 스트림은 한 번만 읽을 수 있습니다. 데이터 스트림은 탐색 작업을 지원하지 않습니다. 그러나 SAPI 구현에 따라 요청 본문 데이터가 저장되면 다른 php://input 데이터 스트림을 열고 다시 읽을 수 있습니다. 일반적으로 이는 POST 요청에만 해당되며 PUT 또는 PROPFIND와 같은 다른 요청 방법에는 해당되지 않습니다.
따라서 동일한 이름 값을 가진 양식 데이터를 얻기 위해 php를 사용하는 아이디어는 다음과 같습니다. 1. php://input을 통해 원본 POST 데이터를 가져옵니다. 2. 데이터를 처리하고 병합합니다. -처리된 값 할당 시스템 변수 $_POST에 다음과 같은 함수가 정의됩니다.
function GET_SUBMIT(){ if(empty($_POST)) return $_POST; //判断提交类型 if($_SERVER["HTTP_CONTENT_TYPE"] != 'application/x-www-form-urlencoded'){ return $_POST; } //获取POST原始值 $data= file_get_contents("php://input"); if(empty($data)) return $_POST; //开始处理 $POST=array(); $list=explode('&',$data); foreach($list as $key=>$value){ //获取POST的KEY和Value值 $postname=urldecode(substr($value,0, stripos($value,"="))); $postvalue=urldecode(substr($value,(stripos($value,"=")+1))); //对KEY值和Value值进行处理 //去空格和[] $postname=trim($postname,' ,[,]'); $postvalue=trim($postvalue); if(array_key_exists($postname,$POST)){ $POST[$postname]=$POST[$postname]." ,".$postvalue; }else{ $POST[$postname]=$postvalue; } } return $POST; }
다음으로 필요한 경우 "$_POST=GET_SUBMIT()"를 사용하고 나중에 $_POST를 사용하여 처리 후 각 양식의 데이터를 가져올 수 있습니다.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이번 장에서는 CakePHP의 환경 변수, 일반 구성, 데이터베이스 구성, 이메일 구성에 대해 알아봅니다.

PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는
