스티커 모듈 버그 문제.
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님 께서 직접 확인해보셔야 할것 같아요
댓글 5
해결법1.
라이믹스를 사용한다.
해결법2.
전체 갯수를 1개만 쓴다.(스티커하나만업로드하고 아래 input 을 중복적으로 남기지 않도록)
솔찍히 이거 두개말고는 딱히 당장 떠오르지 않네요. 비누님께는 제보해드림.