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); } }
<? //$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로 제한한다.