첨부파일 깨짐 방지 활성화 시

안녕하세요.

Autoset 10.7.0 버전의 웹서버(80), Mysql 을 사용하고 있습니다.

첨부파일 깨짐 방지 옵션을 비활성화 할 경우, 한글/영문 둘다 다운로드는 잘되나 파일이 깨져서

옵션을 활성화하면 영문은 다운로드가 잘되고 이상없으나, 한글은 다운로드시 Not Found뜹니다.

UTF-8 인코딩 문제 인거 같은데, 해당 옵션을 Dashboard에서 말고 소스에서 수정할 수 있을까요? UTF-8로 저장해보려고 합니다.

항상 감사합니다.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 안녕하세요~^^

    첨부파일이 깨지는 이유는 서버쪽 설정도 영향이 있는 듯합니다.

    KBoard(케이보드) 쪽 관련 파일은 FTP로 접속해서 /wp-content/plugins/kboard/class/KBController.class.php 파일입니다.

    fileDownload() 메소드쪽 코드 중 아래 코드를 살펴봐보세요.

    if(get_option('kboard_attached_copy_download')){
    	$unique_dir = uniqid();
    	$upload_dir = wp_upload_dir();
    	$temp_path = $upload_dir['basedir'] . "{$ds}kboard_temp";
    	
    	$file_handler = new KBFileHandler();
    	$file_handler->deleteWithOvertime($temp_path, 60);
    	$file_handler->mkPath("{$temp_path}{$ds}{$unique_dir}");
    	
    	copy($file_info->full_path, "{$temp_path}{$ds}{$unique_dir}{$ds}{$file_info->file_name}");
    	header('Location: ' . $upload_dir['baseurl'] . "{$ds}kboard_temp{$ds}{$unique_dir}{$ds}{$file_info->file_name}");
    }
    else{
    	$ie = isset($_SERVER['HTTP_USER_AGENT']) && (strpos($_SERVER['HTTP_USER_AGENT'], 'Trident') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false);
    	if($ie) $file_info->file_name = iconv('UTF-8', 'EUC-KR//IGNORE', $file_info->file_name);
    	
    	header('Content-type: ' . $file_info->mime_type);
    	header('Content-Disposition: attachment; filename="' . $file_info->file_name . '"');
    	header('Content-Transfer-Encoding: binary');
    	header('Content-length: ' . $file_info->size);
    	header('Expires: 0');
    	
    	if($ie){
    		header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    		header('Pragma: public');
    	}
    	else{
    		header('Pragma: no-cache');
    	}
    	
    	$fp = fopen($file_info->full_path, 'rb');
    	fpassthru($fp);
    	fclose($fp);
    }

    고맙습니다.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요