한글다운로드시 파일명이 깨져서 나옵니다.
본문
안녕하세요.
그누보드 다운로드 파일을 참고하여 다운로드를 구현했는데
이미지 파일이 한글일시에 다운로드가 한글이 깨져서나옵니다..
bbs/download.php 파일을 보고 만들었는데.. 어디부분에서 한글이깨지는지모르겠네요..
DB와 출력시에는 한글이 잘 표현됩니다.
<?php
include_once('./_common.php');
$order = sql_real_escape_string($_GET['order']);
$cart = sql_real_escape_string($_GET['cart']);
$no = sql_real_escape_string($_GET['no']);
$no = (int)$no;
if (!$is_admin) {
$alert_msg = '\\n\\n다운로드 권한이 없습니다.\\n\\n관리자로 로그인 후 다시 시도해주십시오.\\n\\n';
alert($alert_msg, G5_BBS_URL.'/login.php?url='.urlencode(G5_SHOP_URL.'/attach_download.php?order='.$order.'&cart='.$cart.'&sf_no='.$no));
}
$sql = " select sf_source, sf_file, sf_datetime from {$g5['g5_shop_attach_file']} where od_id = '$order' and ct_id = '$cart' and sf_no = '$no' ";
$file = sql_fetch($sql);
if (!$file['sf_file'])
alert_close('파일 정보가 존재하지 않습니다.');
$ym = substr(str_replace('-', '', $file['sf_datetime']), 2, 4);
$filepath = G5_DATA_PATH.'/odattach/'.$ym.'/'.$file['sf_file'];
$filepath = addslashes($filepath);
if (!is_file($filepath) || !file_exists($filepath))
alert('파일이 존재하지 않습니다.');
$g5['title'] = '다운로드 > '.conv_subject($file['sf_source'], 255);
$original = (preg_match("/msie/i", $_SERVER['HTTP_USER_AGENT'])) ? urlencode($file['sf_source']) : $file['sf_source'];
if(preg_match("/msie/i", $_SERVER['HTTP_USER_AGENT']) && preg_match("/5\.5/", $_SERVER['HTTP_USER_AGENT'])) {
header("content-type: doesn/matter");
header("content-length: ".filesize("$filepath"));
header("content-disposition: attachment; filename=\"$original\"");
header("content-transfer-encoding: binary");
} else {
header("content-type: file/unknown");
header("content-length: ".filesize("$filepath"));
header("content-disposition: attachment; filename=\"$original\"");
header("content-description: php generated data");
}
header("pragma: no-cache");
header("expires: 0");
flush();
$fp = fopen($filepath, 'rb');
$download_rate = 10;
while(!feof($fp)) {
print fread($fp, round($download_rate * 1024));
flush();
usleep(1000);
}
fclose ($fp);
flush();
?>
!-->
답변을 작성하시기 전에 로그인 해주세요.