Extra Form
PHP PHP 5.4
CMS XpressEngine

안녕하세요

요즘 애드온으로 뭔가 편리한것 같아 이리저리 코드 보며

만들고 있습니다.

 

unlink 함수 사용중에 궁금한게 있어서 혹은 제가 너무 날코딩 해서 그런지

봐주실 수 있을까 하여 궁금증 올립니다.

 

애드온에서 입력받은 memlist 목록을

 

$memlist = explode(',', $addon_info->memlist);

 

$memlist 에 담아주고

 

foreach($memlist as $memlist2)

{

        $MemberModel = getModel('member');
        $member_info = $MemberModel->getMemberInfoByUserID($memlist2);
        
        $memsrl = $member_info->member_srl;

 

        $di = '/경로';
        $di2 = '/경로';
        $di3 = '/경로';
        $di4 = '/경로';
        $di5 = '/경로';
        $di6 = '/경로';
        
        unlink($di . '/' . $memsrl);
        unlink($di2 . '/' . $memsrl);
        unlink($di3 . '/' . $memsrl);
        unlink($di4 . '/' . $memsrl);
        unlink($di5 . '/' . $memsrl);
        unlink($di6 . '/' . $memsrl);

}

 

이렇게 foreach 를 돌리면 print_r 로 뿌려봐도 회원당 srl 를 뽑아오지 못합니다..

근데 foreach 말고 그냥 아이디당 하나씩 테스트를 하면 작동을 하는데요

어떤 식으로 고쳐줘야 srl 번호를 추출해서 뿌려줄 수 있을까요??

  • Lv36

    unlink가 문제가 아니고 $addon_info->memlist, $memlist, 루프 내의 $memlist2에 각각 무엇이 들어 있는지부터 print_r로 찍어보셔야겠습니다.

  • Lv36
    안녕하세요!
    $memlist = explode(',', $addon_info->memlist);
    -> 여러개의 회원 아이디를 입력해서 배열로 나누어 저장한다음

    foreach($memlist as $memlist2) 로 돌리면

    $MemberModel = getModel('member');
    $member_info = $MemberModel->getMemberInfoByUserID($memlist2);

    $memsrl = $member_info->member_srl;

    print_r($memsrl) 시 회원 srl 추출된게 안뿌려지는데..

    단독으로
    $memlist = $addon_info->memlist;

    $MemberModel = getModel('member');
    $member_info = $MemberModel->getMemberInfoByUserID($memlist);

    $memsrl = $member_info->member_srl;

    print_r($memsrl)

    한개 아이디만 지정 후 하면 또 나옵니다.

    멤버 함수가 반복이 안되는걸까요??
  • Lv36

    그러니까 $addon_info->memlist 부터 시작해서 모든 변수를 한 번씩 찍어보시라는 거죠.
    explode의 결과물이 예상과 다르게 나왔을 가능성을 확인해야 합니다.
    예를 들어 쉼표 사이에 공백문자가 들어갔다거나...
    원본 변수에 정확하게 어떤 값이 들어 있는지 검증하지 않은 상태에서

    마지막 결과만 보고 탁상공론하는 것은 무의미합니다.

  • Lv36
    아 그 말씀이셨군요

    차근차근 다시 한단계씩 해보겠습니다!