PHP HTTP 본문 내용 가 져 오기

4625 단어 php
PHP Http body 내용 가 져 오기
때때로 우 리 는 데 이 터 를 가 져 올 때 헤더 의 형식 에 따라 해석 해 야 한다.예 를 들 어 텍스트 가 아 닌 제 이 슨 을 업로드 하 는 것 이다.php 입력|출력 흐름 의 개념 을 사 용 했 습 니 다.
PHP 는 여러 항목 의 입 출력(IO)흐름 을 제공 합 니 다.PHP 의 입 출력 흐름,표준 입 출력 과 오류 설명자,메모리,디스크 백업 의 임시 파일 흐름,파일 자원 을 읽 고 쓸 수 있 는 다른 필 터 를 사용 할 수 있 습 니 다.
본문 은 언급 되 었 다.php://input,자세 한 내용 은 홈 페이지 참조:클릭 하여 홈 페이지 보기
php://input 요청 한 원본 데이터 에 접근 할 수 있 는 읽 기 전용 흐름 입 니 다.POST 요청 의 경우php://input대신$HTTP_RAW_POST_DATA을 사용 하 는 것 이 좋 습 니 다.특정한 phop.ini 명령 에 의존 하지 않 기 때 문 입 니 다.그리고 이 경우$HTTPRAW_POST_DATA 는 기본적으로 채 워 지지 않 았 습 니 다.활성화always_populate_raw_post_data보다 잠재 적 으로 필요 한 메모리 가 적 습 니 다.enctype="multipart/form-data"php://input는 무효 입 니 다.
아 날로 그 코드
// server.php
switch($_SERVER['CONTENT_TYPE']){
    case 'application/json':
        //             
        $body = file_get_contents('php://input');
        echo '    json:', $body;
        break;
    // ...
}
// client_web.php,         axios
// ...
service = axios.create({
    baseURL: 'mydomain',
    validateStatus:function(status){
        if(500 >= status) alert('server fails');
    }
});

//      
service.post(url, {
    // ...
    headers: {'Content-Type':'application/json'},
    data:'{"code":100}'
    // ...
});

//         
service.interceptors.request.use(function(config){
    //        
    config.headers['Content-Type'] = 'application/json';
    return config;
}, function(err){});

인용 하여 읽다.
다음은 공식 문서 베 끼 기 입 니 다.
PHP 입력|출력 흐름:php://stdin, php://stdout 화해시키다php://stderr php://stdin,php://stdout,php://stderrPHP 프로 세 스에 해당 하 는 입력 이나 출력 흐름 에 직접 접근 할 수 있 습 니 다.데이터 흐름 은 복 사 된 파일 설명 자 를 참조 합 니 다.따라서php://stdin을 열 고 닫 으 면 복제품 만 닫 습 니 다.실제로 인 용 된 STDIN 은 영향 을 받 지 않 습 니 다.PHP 의 행동 에 주의 하 세 요.PHP 5.2.1 까지 버그 가 많 습 니 다.이 패 키 지 를 수 동 으로 여 는 대신 상수 STDIN,STDOUT,STDERR 을 간단하게 사용 하 는 것 을 추천 합 니 다.그 중php://stdin은 읽 기 전용 이 고php://stdoutphp://stderr는 쓰기 전용 이다.
php://output php://output는 출력 버퍼 에 print 와 echo 같은 방식 으로 기록 할 수 있 는 데이터 흐름 입 니 다.
php://fd php://fd지정 한 파일 설명자 에 직접 접근 할 수 있 습 니 다.예컨대php://fd/3 파일 설명자 3 을 참조 하 였 습 니 다.
php://memory 화해시키다php://temp php://memoryphp://temp는 파일 포장 기와 유사 한 데이터 흐름 으로 임시 데 이 터 를 읽 고 쓸 수 있다.이들 의 유일한 차이 점 은php://memory항상 데 이 터 를 메모리 에 저장 하고php://temp메모리 양 이 미리 정 의 된 제한 에 도달 한 후에(기본 값 은 2MB)임시 파일 에 저장 하 는 것 이다.임시 파일 위치 결정 은sys_get_temp_dir()방식 과 일치 합 니 다.
php://temp 메모리 제한 은 추가/max memory:NN 을 통 해 제어 할 수 있 습 니 다.NN 은 바이트 단위 로 메모리 에 남아 있 는 최대 데 이 터 량 이 고 초과 하면 임시 파일 을 사용 합 니 다.
php://filter php://filter는 메타 패 키 징 장치 로 데이터 흐름 이 열 릴 때 선별 여과 응용 을 설계 합 니 다.이것 은 일체 식(all-in-one)의 파일 함수 에 매우 유용 합 니 다.readfile(),file(),file_get_contents()와 유사 합 니 다.데이터 흐름 내용 을 읽 기 전에 다른 필 터 를 사용 할 기회 가 없습니다.php://filter목 표 는 다음 과 같은 매개 변 수 를 경로 의 일부분 으로 사용 합 니 다.복합 필터 체인 은 한 경로 에서 지정 할 수 있 습 니 다.이 매개 변 수 를 상세 하 게 사용 하면 구체 적 인 범례 를 참고 할 수 있다.

좋은 웹페이지 즐겨찾기