function write_log()
{
    global $backup_filename, $date_stamp, $send_log, $label, $full_path;
    $log_file = $full_path . '/backup_log.txt';
    if (!($handle = fopen($log_file, 'a+'))) {
        exit;
    }
    if (is_writable($log_file)) {
        echo '<h2>Mysqldump...</h2>';
        $dumped = db_dump();
        echo '<h2>Sending db...</h2>';
        $log_content = "\n" . $date_stamp . "\t\t\t" . $dumped . "\t\t\t" . send_attachment($backup_filename);
        echo '<h2>Writing log...</h2>';
        $log_header = '';
        if (filesize($log_file) == '0') {
            $log_header .= $label . "\n\n";
            $log_header .= 'Backup log' . "\n";
            $log_header .= '----------------------------------------------' . "\n";
            $log_header .= 'DATESTAMP:					DUMPED		MAILED' . "\n";
            $log_header .= '----------------------------------------------';
            if (fwrite($handle, $log_header) === false) {
                exit;
            }
        }
        echo 'Log header written: ';
        if (fwrite($handle, $log_header) === false) {
            echo 'no<br />' . "\n";
            exit;
        } else {
            echo 'yes<br />' . "\n";
        }
        echo 'Log status written: ';
        if (fwrite($handle, $log_content) === false) {
            echo 'no<br />' . "\n";
            exit;
        } else {
            echo 'yes<br />' . "\n";
        }
    }
    fclose($handle);
    if ($send_log) {
        echo '<h2>Sending log...</h2>';
        send_attachment($log_file, false);
    }
}
Beispiel #2
0
<?
//$file = $_REQUEST['file_dir'];
//send_attachment('test111.jpg', $_REQUEST['file_dir']);
$rs	= send_attachment('test111.jpg', "babience_video/MOBILE/images/sns.jpg");
print_r($rs);
//print_r($_REQUEST['file_dir']);
/**
 *  PHP 파일 다운로드 함수.
 *  Version 1.3
 *
 *  Copyright (c) 2014 성기진 Kijin Sung
 *
 *  License: MIT License (a.k.a. X11 License)
 *  http://www.olis.or.kr/ossw/license/license/detail.do?lid=1006
 *
 *  아래와 같은 기능을 수행한다.
 *
 *  1. UTF-8 파일명이 깨지지 않도록 한다. (RFC2231/5987 표준 및 브라우저 버전별 특성 감안)
 *  2. 일부 OS에서 파일명에 사용할 수 없는 문자가 있는 경우 제거 또는 치환한다.
 *  3. 캐싱을 원할 경우 적절한 Cache-Control, Expires 등의 헤더를 넣어준다.
 *  4. IE 8 이하에서 캐싱방지 헤더 사용시 다운로드 오류가 발생하는 문제를 보완한다.
 *  5. 이어받기를 지원한다. (Range 헤더 자동 감지, Accept-Ranges 헤더 자동 생성)
 *  6. 일부 PHP 버전에서 대용량 파일 다운로드시 메모리 누수를 막는다.
 *  7. 다운로드 속도를 제한할 수 있다.
 *
 *  사용법  :  send_attachment('클라이언트에게 보여줄 파일명', '서버측 파일 경로', [캐싱할 기간], [속도 제한]);
 *
 *             아래의 예는 foo.jpg라는 파일을 사진.jpg라는 이름으로 다운로드한다.
 *             send_attachment('사진.jpg', '/srv/www/files/uploads/foo.jpg');
 *
 *             아래의 예는 bar.mp3라는 파일을 24시간 동안 캐싱하고 다운로드 속도를 300KB/s로 제한한다.