XE사용자이면서 XE스티커 모듈 사용하는 사람들이 이용못하는데 근본적인 문제는 input 에서 여러가지 데이터를 XE가 가져오지 못하는 문제예요.
리턴되는 시점은 스티커 모듈의 controller.php 파일의
if(!$obj->sticker_main_file || !$obj->sticker_file){ return new Object(-1,'file is not exist'); } else { //존재 할 때 파일 갯수와 용량, 확장자 체크
이 시점인데 보시면 debugPrint($obj)를 찍어보면 sticker_main_file 는 남아있지만 $obj->sticker_file 에서 파일을 가져오지 못하고 있어요.
이걸 왜그럴까 한번 고민해봤더니 sticker_main_file 은 일단 다이렉트로 한번의 값으로 가져오는데 두번째에 있는 $obj->sticker_file는 array반복 배열을 돌려서 가져오게 되거든요. 아래 코드 한번 봐주세요.
<form> <input type="file" name="sticker_main_file" /> <input type="file" name="sticker_file[]" /> <input type="file" name="sticker_file[]" /> </form>
보면 sticker_file 이라는 input name 부분은 2개있어서 첫번째 첨부에 첨부했어도 두번째 마지막에 첨부하지 않았다고 인식하여 데이터가 정상적으로 첨부하지 않았다고 인식하는 반면에 sticker_main_file은 하나의 input만 가지고 있기 때문에 두번째에 덮어씌우는 형태로 들어가는 input처리가 없어서 정상적인 파일 첨부가 된것으로 나타납니다.
이게 라이믹스에서는 정상적으로 이 값들을 재대로 처리해주고 있어요. (예전에도 이와같은 비슷한 부분으로 오류있었 엑스이만 해결안대던..)
이게 제가 생각하는 것이 맞는지 다시한번 확인해보기 위해서 HTML 에서 input 데이터값을 한번 바꿔보았어요.
<form> <input type="file" name="sticker_main_file[]" /> <input type="file" name="sticker_main_file[]" /> <input type="file" name="sticker_file[]" /> <input type="file" name="sticker_file[]" /> </form>
이렇게 짜보니깐 값이 둘다 안넘어왔었어요.
아마도. PHP세팅이나 input 멀티 가져오는 과정에서 XE에서 문제가 있는듯 합니다.
BNU님 께서 직접 확인해보셔야 할것 같아요
해결법1.
라이믹스를 사용한다.
해결법2.
전체 갯수를 1개만 쓴다.(스티커하나만업로드하고 아래 input 을 중복적으로 남기지 않도록)
솔찍히 이거 두개말고는 딱히 당장 떠오르지 않네요. 비누님께는 제보해드림.