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님 께서 직접 확인해보셔야 할것 같아요

람보

profile
람보입니다.
  • profile

    해결법1.

    라이믹스를 사용한다.

    해결법2.
    전체 갯수를 1개만 쓴다.(스티커하나만업로드하고 아래 input 을 중복적으로 남기지 않도록)

     

    솔찍히 이거 두개말고는 딱히 당장 떠오르지 않네요. 비누님께는 제보해드림.

     

  • profile
    언제나 다시봐도 정말 대단하십니다 정말 코드 보실줄 아시는분은 정말 신기하고 멋지더라고요 뭐든지 쑥딱 만들고
  • profile
    아 그럼 라이믹스로 변경하면 바로 해결되는 문제인가요?
  • profile profile
    라이믹스로 갈아탈지..생각중입니다.ㅠ
  • profile profile
    라이믹스에서는 일딴 해당 가져오는 부분에서 패치가 이루어진 부분이 많이잇어서 XE보다는 유용하게 사용가능한 점은 있습니다만 100퍼 다 좋다고 만족은 해드릴 수 없을수 있어요. 다른 사용하시는 것들중에서 작동하지 않을 수 있는 문제점도 있고..