개발 Q&A

제목 CI4 4.3.2 $request->getRawInput() 사용 중 의문 사항
카테고리 기타
글쓴이 은랑 작성시각 2023/04/06 14:02:08
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 4931   RSS

<?php

$data = $request->getRawInput();
This will retrieve data and convert it to an array. Like this:

<?php

var_dump($request->getRawInput());

/*
 * Outputs:
 * [
 *     'Param1' => 'Value1',
 *     'Param2' => 'Value2',
 * ]
 */

?>

/*
위 코드를 이용하여 php://input raw string 을 처리하는 상황에서 경험한 상황 입니다.

1. base64_encode 결과물을 php://input raw string 으로 받는 과정에서

   $data = $request->getRawInput() 를 이용하여 수신

   $data 는 배열형식으로 리턴



2. $arrkeys = array_key( $data );

   $arrkeys[0]  <= 요것이 raw string 으로 간주하고 처리하는 과정에서

   $arrkeys[0] 문자열의 마지막 문자가 "=" 일 경우 짤려버리는 현상이 발생하였습니다.

   일단 이전에 사용하던 file_get_contents("php://input") 을 사용하여 해결은 하였습니다.



혹 다른 해결방법이 있다면 도움 부탁드리겠습니다...ㅠㅠ

*/

 다음글 CI3 환경구축 문의드리요 (1)
 이전글 템플릿 사용에 대해서 문의 드립니다. (2)

댓글

cilove / 2023/04/11 09:57:43 / 추천 0

제가 getRawInput를 안써서 =가 지워지는것을 수정 하는 방법은 모르겠지만 base64 string에서 =가 지워지더라도 크게 의미가 없는것으로 알고 있습니다 ㅎㅎ

 

참고로 개인적으로는 php://input만 사용중입니다.