MAC(맥)에서 올린 파일이 다운로드하면 파일명이 표시되지 않습니다.
본문
첨부한 파일을 다운로드하면 이상한 문자만 가득한 download.php만 다운이 되어서
아래 글을 참고해서 bbs/download.php 파일을 고쳤습니다.
참고 URL:
주석처리한 곳
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();*/
아래와 같이 수정
// Must be fresh start
if( headers_sent() )
die('Headers Already Sent');
// Required for some browsers
if(ini_get('zlib.output_compression'))
ini_set('zlib.output_compression', 'Off');
// Parse Info / Get Extension
$fsize = filesize($filepath);
$path_parts = pathinfo($filepath);
$ext = strtolower($path_parts["extension"]);
// Determine Content Type
switch ($ext)
{
case "pdf": $ctype="application/pdf"; break;
case "exe": $ctype="application/octet-stream"; break;
case "zip": $ctype="application/zip"; break;
case "doc": $ctype="application/msword"; break;
case "xls": $ctype="application/vnd.ms-excel"; break;
case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
case "gif": $ctype="image/gif"; break;
case "png": $ctype="image/png"; break;
case "jpeg":
case "jpg": $ctype="image/jpg"; break;
default: $ctype="application/force-download";
}
header("Pragma: public"); // required
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false); // required for certain browsers
header("Content-Type: $ctype");
header("Content-Disposition: attachment; filename=\"".basename($filepath)."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".$fsize);
ob_clean();
flush();
그런데 문제가 또 생겼습니다..
제대로 다운로드는 되지만 mac에서 올린 파일명은 여전히 download.php 입니다.
변경 >>>
header("Content-Disposition: attachment; filename=\"".$original."\";" );
빨간색 부분을 위와 같이 변경해도 파일명이 바뀌지 않는데
원인을 알 수 있을까요? 답답하네요...아시는 분이 있으시다면 답변 꼭 좀 부탁드리겠습니다!!!