사이트 내 전체검색
그누보드
검색목록
[팁] 크롬에서 한글파일명에 () 포함시 다운로드 파일명깨어질때 해결책
로빈아빠
https://cmd.kr/gnu/464 URL이 복사되었습니다.

본문

1. 크롬에서 한글파일명에 () 포함시 다운로드 파일명깨어질때 해결책

크롬에서는 한글파일명을 원래대로 출력해도 된다.

/bbs/download.php 에서 크롬일때 처리

if(preg_match("/Chrome/i", $_SERVER[HTTP_USER_AGENT])) 
    $original = htmlspecialchars($file[bf_source]);

@include_once("$board_skin_path/download.tail.skin.php");

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");
}


2. 화면보기에서 파일명에 인용표 ' 가 들어간경우 \' 로 표시되는것 수정
lib/common.php  function get_file($bo_table, $wr_id) 에서
        $file[$no][source] = addslashes($row[bf_source]);
로 되어서 그렇다. 원본을 고치는것보다는 view.skin.php 에서 수정하는게 좋다.


// 가변 파일
$cnt = 0;
for ($i=0; $i<count($view[file]); $i++) {
    if ($view[file][$i][source] && !$view[file][$i][view]) {
        $cnt++;

//원그누보드가 addslashes를 해버려서 다시 해제를 해야함
        $view[file][$i][source] = htmlspecialchars(stripslashes($view[file][$i][source]));
        echo "<tr><td height=30 background=\"$board_skin_path/img/view_dot.gif\">";
        echo "&nbsp;&nbsp;<img src='{$board_skin_path}/img/icon_file.gif' align=absmiddle border='0'>";
        echo "<a href=\"javascript:file_download('{$view[file][$i][href]}', '".urlencode(addslashes($view[file][$i][source]))."');\" title='".htmlspecialchars($view[file][$i][content])."'>";
        echo "&nbsp;<span style=\"color:#888;\">".htmlspecialchars($view[file][$i][source])." ({$view[file][$i][size]})</span>";
        echo "&nbsp;<span style=\"color:#ff6600; font-size:11px;\">[{$view[file][$i][download]}]</span>";
        echo "&nbsp;<span style=\"color:#d3d3d3; font-size:11px;\">DATE : {$view[file][$i][datetime]}</span>";
        echo "</a></td></tr>";
    }
}


댓글목록

등록된 댓글이 없습니다.

그누보드
65 (1/2P)

Search

Copyright © Cmd 명령어 3.145.85.74