CI 코드
| 준이 | |
|---|---|
|
이하 system 폴더를 압축 하는 프로그램 입니다. (php 파일만 수정, 기타 파일 복사) system 폴더와 같은 폴더에 복사 하셔서 실행 하시면 됩니다. 사용 방법은 다음과 같습니다. // system 디렉토리, 목표 디렉토리, 압축 사용 여부 ci_min('system', '', true); 첫번째 파라미터는 압축하려는 목표 디렉토리 입니다. 두번째 파라미터에서 값이 비어 있으면 자동으로 backup 폴더를 생성 합니다. 세번째 파라미터에서 true - php_strip_whitespace + zlib 사용, false - php_strip_whitespace만 사용 // 172 files, 32 folders // 압축 하기 전 1.10 MB (1,163,611 bytes) // php_strip_whitespace 626 KB (641,967 bytes) // gzip = true 339 KB (347,710 bytes)
<?php
session_start();
$_SESSION['count_d'] = $_SESSION['count_f'] = $_SESSION['filesize'] = 0;
// 172 files, 32 folders
// 압축 하기 전 1.10 MB (1,163,611 bytes)
// php_strip_whitespace 626 KB (641,967 bytes)
// gzip = true 339 KB (347,710 bytes)
ci_min('system', '', true);
// 파일 수량
if ($_SESSION['count_f'] > 0)
{
echo 'count_f = ' . $_SESSION['count_f'] . "<br />";
}
// 디렉토리 수량
if ($_SESSION['count_d'] > 0)
{
echo 'count_d = ' . $_SESSION['count_d'] . "<br />";
}
// 압축 후 용량
if ($_SESSION['filesize'] > 0)
{
echo 'file_size = ' . $_SESSION['filesize'] . "<br />";
}
$_SESSION['count_d'] = $_SESSION['count_f'] = $_SESSION['filesize'] = 0;
unset($_SESSION);
// system 디렉토리, 목표 디렉토리, 압축 사용 여부
function ci_min($directory = 'system', $backupdir = 'backup', $gzip='false')
{
if (!is_dir($backupdir))
{
@mkdir($backupdir);
}
$i = 0;
$mydir = dir($directory);
$backupdir = 'backup';
if (!is_dir($backupdir))
{
@mkdir($backupdir);
}
if (!file_exists($backupdir . '/' . $directory))
{
mkdir($backupdir . '/' . $directory);
$_SESSION['count_d']++;
}
$filesize_s = $filesize_t = 0;
while ($file = $mydir->read())
{
// directory
if ((is_dir($directory . '/' . $file)) AND ($file != '.') AND ($file != '..'))
{
ci_min($directory . '/' . $file, $backupdir, $gzip);
}
// file
else
{
if (!file_exists($backupdir.'/'.$directory.'/index.php') && !file_exists($backupdir.'/'.$directory.'/index.html'))
{
file_put_contents($backupdir.'/'.$directory.'/index.html', '');
echo "Creating " . $backupdir.'/'.$directory.'/index.html' . "<br />";
$_SESSION['count_f']++;
}
// php file
if (substr($file, -4) == '.php')
{
if ($gzip == true)
{
file_put_contents($backupdir . '/' . $directory . '/' . $file, "<?php eval(gzuncompress(base64_decode('".base64_encode(gzcompress(trim(substr(php_strip_whitespace($directory . '/' . $file), 5)), 9))."')));");
}
else
{
file_put_contents($backupdir . '/' . $directory . '/' . $file, trim(php_strip_whitespace($directory . '/' . $file)));
}
$_SESSION['filesize'] += filesize($backupdir . '/' . $directory . '/' . $file);
$_SESSION['count_f']++;
echo "Compacting " . $directory . '/' . $file . "<br />";
}
// index.html
else if ($file == 'index.html' || $file == '.' || $file == '..')
{
}
else
{
copy($directory . '/' . $file, $backupdir . '/' . $directory . '/' . $file);
echo "Copying " . $directory . '/' . $file . "<br />";
$_SESSION['filesize'] += filesize($backupdir . '/' . $directory . '/' . $file);
$_SESSION['count_f']++;
}
if (file_exists($backupdir.'/'.$directory.'/index.php') && file_exists($backupdir.'/'.$directory.'/index.html'))
{
unlink($backupdir.'/'.$directory.'/index.html');
$_SESSION['count_f']--;
}
}
}
$mydir->close();
}
?>
|
|
| 번호 | 제 목 | 글쓴이 | 날짜 | 조회 | 추천수 |
|---|---|---|---|---|---|
| 591 | TapBBS 공개합니다~ [7] | KangMin | 2012-04-19 | 670 | 0 |
| 586 | CI에서 sqlite3 연동하기 [0] | 불의회상 | 2012-04-04 | 299 | 0 |
| 580 | CodeIgniter SimpleXML library [2] | 타로 | 2012-02-05 | 797 | 0 |
| 577 | CI 와 Smarty 템플릿의 결합 [4] | 불의회상 | 2012-01-26 | 899 | 0 |
| 573 | Okada Design Blog 소개 [3] | 타로 | 2012-01-12 | 884 | 0 |
| 568 | woctopus 계정관리도구 [2] | milosz | 2012-01-09 | 764 | 0 |
| 566 | 업로드된 이미지 정사각형으로 썸네일 만드는 함수 [3] | 불의회상 | 2012-01-06 | 781 | 0 |
| 554 | 코드 이그나이터를 접하고 처음으로 만들어본 객체 입.. [7] | 내일은 | 2011-11-11 | 2043 | 0 |
| 528 | 모델코드 생성기 [25] | 불의회상 | 2011-10-13 | 1706 | 1 |
| 525 | ci memo + tank_auth [2] | milosz | 2011-10-04 | 1467 | 0 |
| 512 | 포럼소스를 2.0.1 버전에 맞게 수정하였습니다. [2] | 탱크 | 2011-04-02 | 4093 | 2 |
| 509 | CI 메뉴얼 CHM 버전(영문 2.0) [1] | 브라이언 | 2011-03-30 | 1523 | 0 |
| 508 | CI 메뉴얼 CHM 버전 [0] | 브라이언 | 2011-03-30 | 1737 | 0 |
| 494 | ci memo [8] | pam | 2011-02-20 | 2286 | 1 |
| 489 | CI 압축 프로그램 [2] | 준이 | 2010-12-27 | 2024 | 0 |
| 482 | 듬직이님의 헬퍼 ip 부분 추가. [0] | 나이유미 | 2010-11-22 | 2421 | 0 |
| 475 | SELECT() 사용 시 문제점 [2] | 마냐 | 2010-09-16 | 3251 | 0 |
| 473 | CI의 사용자 인증 소스파일 [2] | corean | 2010-09-12 | 3850 | 0 |
| 471 | CI 1.7.2 한글 언어팩 1.1 [1] | cleansugar | 2010-08-26 | 2489 | 0 |
| 470 | Upload 라이브러리 수정본 [0] | sisco | 2010-07-28 | 2707 | 0 |

