메뉴 건너뛰기

프로그램언어

조회 수 19798 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
<?
   //First, see if the file exists
   if (!is_file($file)) { die("<b>404 File not found!</b>"); }

    //Gather relevent info about file
   $len = filesize($file);
   $filename = basename($file);
   $file_extension = strtolower(substr(strrchr($filename,"."),1));

    //This will set the Content-Type to the appropriate setting for the file
   switch( $file_extension ) {
     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;
     case "mp3": $ctype="audio/mpeg"; break;
     case "wav": $ctype="audio/x-wav"; break;
     case "mpeg":
     case "mpg":
     case "mpe": $ctype="video/mpeg"; break;
     case "mov": $ctype="video/quicktime"; break;
     case "avi": $ctype="video/x-msvideo"; break;

      //The following are for extensions that shouldn't be downloaded (sensitive stuff, like php files)
     case "php":
     case "htm":
     case "html":
     case "txt": die("<b>Cannot be used for ". $file_extension ." files!</b>"); break;

      default: $ctype="application/force-download";
   }

    //Begin writing headers
   header("Pragma: public");
   header("Expires: 0");
   header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
   header("Cache-Control: public"); 
   header("Content-Description: File Transfer");
   
   //Use the switch-generated Content-Type
   header("Content-Type: $ctype");

    //Force the download
   $header="Content-Disposition: attachment; filename=".$filename.";";
   header($header );
   header("Content-Transfer-Encoding: binary");
   header("Content-Length: ".$len);
   @readfile($file);
   exit;
?>

List of Articles
번호 제목 날짜 조회 수
220 JSON and JavaScript usage 2014.03.26 19066
219 자릿수만큼 앞에 0 붙이기 2017.03.07 19040
218 링크를 걸때 http 처리방법 2016.12.23 19021
217 디렉토리 안의 파일의 내용들을 읽는 예 2016.12.23 19016
216 정규 표현식 검색과 치환 (preg_replace) 2016.12.23 19012
215 mysql_result — 결과 데이터를 반환 2016.12.23 18969
214 문자열 뒤집기 (strrev) 2016.12.23 18952
213 도메인 앞에 자동으로 WWW를 붙이는 방법 2017.03.07 18921
212 문자열 찾기 (strstr) 2016.12.23 18911
211 두 날짜 사이의 차이 구하기 2017.03.07 18880
210 문자열 추출하기 (substr) 2016.12.23 18869
209 로그인페이지에서 온 경우/로그인한 페이지로 이동 2016.12.23 18851
208 문자열 치환 (str_replace) 2016.12.23 18815
207 mysql_affected_rows — 최근 MySQL 작업으로 변경된 행 개수를 얻음 2016.12.23 18813
206 mysql_insert_id 2016.12.23 18753
205 네이버 지도 API 연동 PHP 소스 2017.03.06 18650
204 mysql_real_escape_string 이진 데이터를 입력할 경우 이 함수를 사용해야 함 2016.12.23 18645
203 PHP 날짜/시간 정리 2017.03.07 18638
202 오류 메시지 출력(alert) 및 페이지 이동(refresh) 관련 2017.03.06 18574
201 잡다한 php 2017.03.06 18505
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 ... 17 Next
/ 17

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved