/home/mjc1/public_html/j3demo/adm/backup_get.php


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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php
$sub_menu 
"900900";
include(
"./_common.php");
include(
"./auth_check.php"); // 관리자 권한 체크

$month date("m"); $day date("d");
if(
$month."_alwlsrhksflwk_".$day==$mode){

    
$date date("YmdHis");
    
$tar_file "{$app_id}_{$date}.tar.gz";
    
$tar_dir "../../tar_tmp/{$tar_file}";
    
$v "tar -cvzf {$tar_dir} ../../{$app_id}";
    
shell_exec($v);

    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("$tar_dir"));
        
header("content-disposition: attachment; filename=\"$tar_file\"");
        
header("content-transfer-encoding: binary");
    } else {
        
header("content-type: file/unknown");
        
header("content-length: ".filesize("$tar_dir"));
        
header("content-disposition: attachment; filename=\"$tar_file\"");
        
header("content-description: php generated data");
    }
    
header("pragma: no-cache");
    
header("expires: 0");
    
flush();

    
$fp fopen($tar_dir'rb');

    
// 4.00 대체
    // 서버부하를 줄이려면 print 나 echo 또는 while 문을 이용한 방법보다는 이방법이...
    //if (!fpassthru($fp)) {
    //    fclose($fp);
    //}

    
$download_rate 10;

    while(!
feof($fp)) {
        
//echo fread($fp, 100*1024);
        /*
        echo fread($fp, 100*1024);
        flush();
        */

        
print fread($fpround($download_rate 1024));
        
flush();
        
usleep(1000);
    }
    
fclose ($fp);
    
flush();

    
unlink($tar_dir);
} else {
    echo 
"mode=superkey";
}
?>