회원 아이콘과 프로필 사진을 다른곳에서 불러오는 방법

회원 아이콘과 프로필 사진을 다른곳에서 불러오는 방법

QA

회원 아이콘과 프로필 사진을 다른곳에서 불러오는 방법

본문

회원프로필 사진이 data\member_image\id앞자리 두자리\id.gif    <-이런 구조더라구요.  아이콘도 폴더만 다르고 비슷한 구조더군요.

 

제경우 회원등록을 미리 해주는 경우라 일일이 사진을 만들어서 폴더만들고 하는게 너무 일이 많고 변동시 수정하기도 힘듭니다.

 

마침 명함같이 규격이 비슷한 이미지에 회원 사진이 올려저있는 폴더가 있어서 거기서 회원 얼굴나온 부분만 잘라서 보여주려고 해봤는데 역시 생각처럼 잘 안되네요.

이리저리 해보다 결국 문의 드려봅니다.

 

회원사진 관련한 함수가 있는 bbs/common.lib.php 를 겁도없이 수정해봤더니

 
function get_member_profile_img($mb_id='', $width='', $height='', $alt='profile_image', $title=''){
    global $member;
    static $no_profile_cache = '';
    static $member_cache = array();
    
    $src = '';
    if( $mb_id ){
        if( isset($member_cache[$mb_id]) ){
            $src = $member_cache[$mb_id];
        } else {
            $member_img = G5_DATA_PATH.'/member_image/'.substr($mb_id,0,2).'/'.get_mb_icon_name($mb_id).'.gif';
            if (is_file($member_img)) {
                if(defined('G5_USE_MEMBER_IMAGE_FILETIME') && G5_USE_MEMBER_IMAGE_FILETIME) {
                    $member_img .= '?'.filemtime($member_img);
                }
                $member_cache[$mb_id] = $src = str_replace(G5_DATA_PATH, G5_DATA_URL, $member_img);
            }
        }
    }
    if( !$src ){
        if( !empty($no_profile_cache) ){
            $src = $no_profile_cache;
        } else {
            // 프로필 이미지가 없을때 기본 이미지
            $no_profile_img = (defined('G5_THEME_NO_PROFILE_IMG') && G5_THEME_NO_PROFILE_IMG) ? G5_THEME_NO_PROFILE_IMG : G5_NO_PROFILE_IMG;
            $tmp = array();
            preg_match( '/src="([^"]*)"/i', $no_profile_img, $tmp );
            $no_profile_cache = $src = isset($tmp[1]) ? $tmp[1] : G5_IMG_URL.'/no_profile.gif';
        }
    }
    if( $src ){
        $attributes = array('src'=>$src, 'width'=>$width, 'height'=>$height, 'alt'=>$alt, 'title'=>$title);
        $output = '<img';
        foreach ($attributes as $name => $value) {
            if (!empty($value)) {
                $output .= sprintf(' %s="%s"', $name, $value);
            }
        }
        $output .= '>';
        return $output;
    }
    return '';
}

 

위 원본 소스를

 


function get_member_profile_img($mb_id='', $width='', $height='', $alt='profile_image', $title=''){
        $output = '<img src="../../이미지주소/test.jpg"   style="position:absolute;  left:-60%;  top:-60%;">';
        return $output;
}

위 처럼 수정 했습니다.

 

어째 아무 반응이 없네요.

반응이 없으니 저길 손대는게 아닌지..  아니면 잘못 바꾼건지 조차 모르겠습니다.

 

 

 

이 질문에 댓글 쓰기 :

답변 1

우선 제가볼때 문제점으로 나올 수 있는 부분을 생각해보았습니다.

이미지 경로를 상대경로로 하셨습니다.

현재 페이지경로에 따라서 상대경로가 될수 있기에 경로가 안맞을시에 문제점이 있을수 있을거 같구요

absolute 를 작성하셨는데 absolute 전에 relative가 있어야 영역이 그안에서 잡히게 됩니다.

이부분에서 안보일수도 있지않을까 합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 145
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT