$_FILES가 가지는 경로

$_FILES가 가지는 경로

QA

$_FILES가 가지는 경로

본문

아래 회원 아이콘 입력저장 부분에서

move_uploaded_file($_FILES['mb_icon']['tmp_name'], $dest_path); 중

($_FILES['mb_icon']['tmp_name']에 해당하는 경로를 알고 싶습니다.

 

tmp 폴더로 가는 것인지 잘 모르겠는데 $_FILES라는 함수가 업로드 되는 파일의 임시저장 경로를

자동으로 가지게 되는 것인지...

 

파일을 업로드 하지 않고 서버에서 생성해서 저장하려고 하는데요.

임시저장 폴더 경로를 어떻게 잡아야 하는지 모르겠습니다.

 

 


 
// register_form.skin 회원 아이콘 입력
        <?php if ($config['cf_use_member_icon'] && $member['mb_level'] >= $config['cf_icon_level']) { ?>
        <li>
            <label for="reg_mb_icon" class="frm_label">회원아이콘</label>
            <input type="file" name="mb_icon" id="reg_mb_icon">
            <span class="frm_info">
                이미지 크기는 가로 <?php echo $config['cf_member_icon_width'] ?>픽셀, 세로 <?php echo $config['cf_member_icon_height'] ?>픽셀 이하로 해주세요.<br>
                gif, jpg, png파일만 가능하며 용량 <?php echo number_format($config['cf_member_icon_size']) ?>바이트 이하만 등록됩니다.
            </span>
            <?php if ($w == 'u' && file_exists($mb_icon_path)) { ?>
            <img src="<?php echo $mb_icon_url ?>" alt="회원아이콘">
            <input type="checkbox" name="del_mb_icon" value="1" id="del_mb_icon">
            <label for="del_mb_icon">삭제</label>
            <?php } ?>
           
        </li>
        <?php } ?>
 
// register_form 회원아이콘 경로
$mb_icon_path = G5_DATA_PATH.'/member/'.substr($member['mb_id'],0,2).'/'.$member['mb_id'].'.gif';
$mb_icon_url  = G5_DATA_URL.'/member/'.substr($member['mb_id'],0,2).'/'.$member['mb_id'].'.gif';
 
// register_form_update 회원 아이콘 저장
$mb_dir = G5_DATA_PATH.'/member/'.substr($mb_id,0,2);
// 아이콘 삭제
if (isset($_POST['del_mb_icon'])) {
    @unlink($mb_dir.'/'.$mb_id.'.gif');
}
$msg = "";
// 아이콘 업로드
$mb_icon = '';
$image_regex = "/(\.(gif|jpe?g|png))$/i";
$mb_icon_img = $mb_id.'.gif';
if (isset($_FILES['mb_icon']) && is_uploaded_file($_FILES['mb_icon']['tmp_name'])) {
    if (preg_match($image_regex, $_FILES['mb_icon']['name'])) {
        // 아이콘 용량이 설정값보다 이하만 업로드 가능
        if ($_FILES['mb_icon']['size'] <= $config['cf_member_icon_size']) {
            ($mb_dir, G5_DIR_PERMISSION);
            @chmod($mb_dir, G5_DIR_PERMISSION);
            $dest_path = $mb_dir.'/'.$mb_icon_img;
//=========================바로 아래코드 부분 ==============================//
            move_uploaded_file($_FILES['mb_icon']['tmp_name'], $dest_path);
//================================================================//
            chmod($dest_path, G5_FILE_PERMISSION);
            if (file_exists($dest_path)) {
                //=================================================================\
                // 090714
                // gif 파일에 악성코드를 심어 업로드 하는 경우를 방지
                // 에러메세지는 출력하지 않는다.
                //-----------------------------------------------------------------
                $size = @getimagesize($dest_path);
                if (!($size[2] === 1 || $size[2] === 2 || $size[2] === 3)) { // jpg, gif, png 파일이 아니면 올라간 이미지를 삭제한다.
                    @unlink($dest_path);
                } else if ($size[0] > $config['cf_member_icon_width'] || $size[1] > $config['cf_member_icon_height']) {
                    $thumb = null;
                    if($size[2] === 2 || $size[2] === 3) {
                        //jpg 또는 png 파일 적용
                        $thumb = thumbnail($mb_icon_img, $mb_dir, $mb_dir, $config['cf_member_icon_width'], $config['cf_member_icon_height'], true, true);
                        if($thumb) {
                            @unlink($dest_path);
                            rename($mb_dir.'/'.$thumb, $dest_path);
                        }
                    }
                    if( !$thumb ){
                        // 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
                        @unlink($dest_path);
                    }
                }
                //=================================================================\
            }
        } else {
            $msg .= '회원아이콘을 '.number_format($config['cf_member_icon_size']).'바이트 이하로 업로드 해주십시오.';
        }
    } else {
        $msg .= $_FILES['mb_icon']['name'].'은(는) 이미지 파일이 아닙니다.';
    }
}
 

이 질문에 댓글 쓰기 :

답변 1

그누보드와는 관계 없이 서버에서 설정한 temp폴더에 자동으로 저장됩니다

이곳에 화일을 업로드한다고 해서 될 일이 아닙니다(이 폴더에 FTP로 업로드 되어서도 안되고)

서버에 직접 업로드 하려면

아이디가 asdfg일때

data/member/as폴더에 업로드 하되 화일명을 asdf.gif로 해주면 됩니다

그리고 위 소스에서

// 아이콘 업로드 <--- 이하는 삭제 해버리면 됩니다

 

 

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

회원로그인

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