CI 묻고 답하기

제목 외부 사이트에서 데이터를 view 에서 받았는데 이것을 model 을 통해 값을 저장하고 싶은데 어떻게 하면 될까요 ?
카테고리 CI 2, 3
글쓴이 testting 작성시각 2019/05/22 09:26:35
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 13092   RSS

안녕하세요 !!

제목에 말씀 드렸듯이

 

외부 사이트에서 데이터를 view 에서 받았는데 이것을 model 을 통해 값을 저장하고 싶은데 어떻게 하면 될까요 ?

 

이런 상황인데 어떻게 하면 되는건가요 ?

읽어주셔서 감사합니다.

 다음글 이상하게 제이쿼리 폼.js 사용후, 폼밸리데이션 통과를... (2)
 이전글 안녕하세요 하나만 더 질문드리겠습니다 iframe에 관... (5)

댓글

kaido / 2019/05/22 09:34:22 / 추천 0

view에서 받아왔다는 것은 ajax를 동해서 스크립트상으로 가져왔다는 의미로 사료되네요.

model... 정확하 php 에서 데이터를 가져올때는 curl 를 사용 하시면 됩니다.

변종원(웅파) / 2019/05/22 09:36:21 / 추천 0

내 사이트 뷰에서 외부데이터를 받았다는 말씀인가요?

위와 같다면 그 데이터를 폼전송이나 ajax로 컨트롤러(메소드)에 전송하고 모델(db입력)을 호출해야 합니다.

사실 사용자가 입력하는 것도 외부데이터입니다. 사람이 직접 입력한다는 차이일뿐 프로세스는 똑같습니다.

testting / 2019/05/22 09:38:59 / 추천 0

curl  통해 외부사이트에서 값을 가져 왔는데 그 값을 DB 에 저장 하려고 하는 것입니다.

혹시 view 에서 부르지 않고 다른 방법이 있을까요 ?

kaido / 2019/05/22 09:51:49 / 추천 0

curl로 가져오셨으면 그 값을 DB에 넣으시면 됩니다

받아오는 타입을 json이나 xml 등의 타입으로 해서 받아온 값을 배열로 쪼개는 방법이 있습니다.

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1);
curl_setopt($ch, CURLOPT_FORBID_REUSE, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate');
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
$response = curl_exec($ch);
curl_close($ch);
$xml = simplexml_load_string($response);
$data = convertArray($xml);
print_r($data);

 

testting / 2019/05/22 10:08:27 / 추천 0

kaido , 웅파님 답변 감사합니다.

위 처리 과정을 컨트롤에서 그대로 해서 받으면 되는것이었내요 ^^