일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 윈도우10
- 시놀로지
- KB증권
- SKT
- 알리익스프레스
- 킹북이초월
- 자바스크립트
- iptime
- 복현오거리
- PHP-FPM
- 스톤에이지
- 라즈베리파이2
- ConoHa
- 램가스초월
- OpenWrt
- 아파치
- Rocky
- 알뜰폰
- proxmox
- centos
- Apache
- 가상서버호스팅
- 리눅스
- 티스토리
- 보르비스초월
- mysql
- KB국민카드
- 소비전력
- jQuery
- php
- Today
- Total
맛집 여행 캠핑 일상 생활
PHP mysqldump 받아서 다운로드 하는 방법 본문
PHP mysqldump 받아서 다운로드 하는 방법
직접 덤프 받아서 다운로드 할 수도 있겠지만 브라우저에서 바로 덤프 받아서 다운로드 하는 방법입니다.
아래 예제는 리눅스 유저계정의 DB를 통으로 백업 받는 예제입니다.
<?
$DB_HOST = 'localhost';
$DB_USER = 'userid';
$DB_PASS = 'userpw';
$DB_NAME = 'dbname';
$BACKUP_PATH = '/home/'.$DB_USER.'/www/';
$BACKUP_NAME = 'DB_'.date("Ymd_His").'.sql.gz';
$BACKUP_FILE = $BACKUP_PATH.$BACKUP_NAME;
$DOWNLOAD_PATH = './'.$BACKUP_NAME;
$command = "mysqldump -h$DB_HOST -u$DB_USER -p$DB_PASS $DB_NAME --opt | gzip > $BACKUP_FILE";
system($command);
if(file_exists($DOWNLOAD_PATH)) {
$filename = urlencode($BACKUP_NAME);
header("Content-Type: application/octet-stream;");
header("Content-Disposition: attachment; filename=$filename");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".(string)filesize($DOWNLOAD_PATH));
header("Cache-Control: cache, must-revalidate");
header("Pragma: no-cache");
header("Expires: 0");
readfile($DOWNLOAD_PATH);
unlink($DOWNLOAD_PATH);
}
else {
echo "File not found.";
}
?>
데이터가 많은 경우에는 실행시간을 연장시켜주는 조치가 필요할 것 같네요.
set_time_limit(0);
'LAMP' 카테고리의 다른 글
MySQL find_in_set 함수 in_array 효과 (0) | 2016.11.02 |
---|---|
PHP 날짜 YYYY-MM-DD 로 가져오는 방법 (0) | 2016.10.27 |
PHP 한글파일(hwp) 다운로드시 브라우저에서 열리는 문제 (0) | 2016.10.20 |
PHP fread vs readfile vs fpassthru 속도 비교 (0) | 2016.09.07 |
크롬브라우저 Content-Disposition: inline bmp 이미지 문제 (0) | 2016.09.07 |