728x90
파일 다운로드 코드 예시이다.
파일을 업로드할 때 실제 저장되는 파일명과 View 파일 화면상에 출력되는 파일명이 다르게 처리하는 것이 중요하다.
<?php
if(!isset($_SESSION)){
session_start();
}
require_once 'path.php';// root 폴더를 기준으로 상대경로 자동 구하기
require_once $g['path_config'].'dbconnect.php';
require_once $g['path_class'].'dbDataClass.php';
require_once $g['path_class'].'dbconnect.php';
require_once $g['path_class'].'loginClass.php';
$c = new LoginClass;
$d = new LegacyDBClass;
$idx = $_GET['idx'];
$idx = preg_replace("/[^0-9]/","",$idx);
$R = $d->getDbData('bbs_data','idx='.$idx,'*');
$file_path= $g['path_root'].'files/infile/' . $R['filename'];
$filename = urldecode($R['realname']);
if(file_exists($file_path)) {
header("Content-disposition: attachment; filename={$filename}"); //Tell the filename to the browser
header('Content-type: application/octet-stream'); //Stream as a binary file! So it would force browser to download
readfile($file_path); //Read and stream the file
} else {
echo -2;
}
?>
|
728x90
'Web 프로그램 > 테이블, 게시판, 검색' 카테고리의 다른 글
PHP 위지윅 에디터 View (0) | 2023.07.02 |
---|---|
PHP 위지윅 에디터 글쓰기 DB 저장 처리 (0) | 2023.06.28 |
PHP 위지윅 에디터 글쓰기 기능 (0) | 2023.06.28 |
bootstrap4 paging with PHP (0) | 2022.02.27 |
XSS(cross-site scripting) filtering function in PHP (0) | 2018.05.01 |