제목 | php(ci)에서 json 파일로 파싱하는 방법 궁금합니다. | ||
---|---|---|---|
글쓴이 | beop | 작성시각 | 2016/04/12 13:47:03 |
|
|||
안녕하세요. 질문좀 드리겠습니다.
json 형식의 파일을 txt 파일로 전달 받았습니다. 클라이언트가 직업 매주 ftp에 접속을하여 txt(json)파일을 업데이트 해주는 형식으로 개발을 해야되는데요..ㅎㅎ 이런경우는 첨이라서요.
CI로 개발할 것인데 보통 DB에서 로드한 배열값을 json_encode 하여 사용한적은 있는데, 저 txt(json)파일을 컨트롤러단에서 직접 로드하는 방법이 궁금합니다.
컨트롤러 public function index(){ $json_string = file_get_contents(base_url('/uploads/test.json')); $data['jdata'] = json_decode($json_string, true); $this->load->view('main_v',$data); } 뷰 페이지 <?php var_dump($jdata) ?> 에러뜨네요.. 용량이 커서그런가요,,ㅠㅠ
추가질문으로 전달 받은 json 파일은 상품리스트 같은 것으로 카테고리, 상품설명, 가격 등등입니다. 용량은 20메가바이트가 넘습니다. 이 파일은 1~2주에 한번씩 업데이트가 됩니다. 프론트단에서 카테고리별로 분류도 해야되고 내용이 많습니다. 이런경우 json 파일이 업데이트 될때 저희 내부에 DB에 한번 업로드후 DB를 사용하는것이 일반적인지 아니면 DB 이용없이 매번 저 json파일을 읽어서 개발하는 것인지 일반적인지 처음이라 감이 안잡힙니다. 주로 작업하는것인지 궁금합니다. (일 평균 방문자는 20~30명 내외라고 가정합니다,)
감사합니다.
|
|||
다음글 | MySQL, Auto_INCREMENT 사용 시 질문입... (3) | ||
이전글 | XAMPP 설치 후phpMyAdmin 실행 시 impo... (14) | ||
변종원(웅파)
/
2016/04/12 14:31:56 /
추천
1
|
닉
/
2016/04/12 14:36:02 /
추천
1
추가 질문 답변 ) json 형식의 파일을 db에 넣는게 일반적일거 같습니다. 이유는 상품설명 카테고리 등등 검색을 해서 보여줘야할 경우가 있을거 같은데 json 형식을 매번 파일로 읽어서 php단에서 처리하면 리소스 낭비라고 생각됩니다. |
beop
/
2016/04/12 14:46:26 /
추천
0
@웅파 @닉 님 답변 남주셔서 감사합니다.
|
beop
/
2016/04/12 14:47:38 /
추천
0
또 궁금한 것이 클릭을 하였을때 DB를 갱신하려고하는데 20mb 넘는 파일이 처리가 될까요..?
|
kaido
/
2016/04/12 16:41:24 /
추천
0
프로그램 하나 짜시면 됩니다. 용량 큰 파일이 문제가 생기는 이유는 중간에 휴식이 없어서 그렇습니다. [beop님도 쉬지않고 어마무지하게 많은 일을 처리 하라고 해봐요!!] 적당히 sleep 재워가면서 휴식시간을 주면 처리 가능 합니다. |
beop
/
2016/04/12 17:07:07 /
추천
0
@kaido 아하 sleep을 쓰는게 맞나보군요!! 그렇게 쓰고 있었긴한데 이게 일반적으로 쓰는 방식인가 싶어서 혼돈스러웠습니다. 답변 감사합니다~
|
차카다이
/
2016/04/13 08:50:45 /
추천
0
@beop 항공 데이타 파싱하는데 curl로 받는데 85메가네요 .. sleep없이 job queue시스템으로 24시간 돌아가요 .. 리얼서버 4코어 8쓰레드 16G memory os centos요 ... |
20메가 파일이면 메모리 에러 뜰겁니다. 메모리 제한 해제하시거나 충분히 크게 늘려주세요. ini_set() 함수 쓰시면 됩니다.
계속 쓰는 것이거나 다른 데이터와 join 또는 검색하는 것이면 db에 넣으셔야하고
이용 빈도가 작더라도 파싱시간이 좀 걸리는 거라 한번만 읽어서 사용하는 방식으로 하시는게 좋을 것 같네요.