티스토리 뷰
현재 운영중인 사이트는 코드이그나이터(CI) 프레임워크를 이용해 개발해놨음.
CI의 ZIP 라이브러리에 폴더 압축 기능이 있으나 이 기능을 사용해서 압축을 하면 압축은 잘 되나 다운받아서 반디집이용해서 풀면 한글 다 깨짐 케릭터셋 문제가 발생함.
PHP 기본 기능인 ZipArchive 를 활용하면 윈도우에서 파일명 정상으로 보이는걸 확인
아래 코드는 구글링 하면 많이 나오는 코드인데 폴더 압축 시 폴더 경로가 다 출력되는거때문에 수정함.
$zip = new ZipArchive;
$zip_name = 파일명;
$res = $zip->open('/압축파일저장폴더/'.$zip_name, ZipArchive::CREATE);
if ($res === TRUE) {
$this->dirZip($zip,'/압축할폴더/');
$zip->close();
} else {
echo "에러 코드: ".$res;
}
function dirZip($resource,$dir) { if(filetype($dir) === 'dir') {
clearstatcache();
if($fp = @opendir($dir)) {
while(false !== ($ftmp = readdir($fp))){
if(($ftmp !== ".") && ($ftmp !== "..") && ($ftmp !== ""))
{
if(filetype($dir.'/'.$ftmp) === 'dir') {
clearstatcache();
$resource->addEmptyDir($dir.'/'.$ftmp);
set_time_limit(0);
dirZip($resource,$dir.'/'.$ftmp);
} else {
$resource->addFile($dir.'/'.$ftmp, $ftmp);
}
}
}
}
if(is_resource($fp)){
closedir($fp);
}
} else {
$resource->addFile($dir);
}
}
'serverSide > PHP' 카테고리의 다른 글
php 배열 싱글쿼테이션 치환 (0) | 2024.06.25 |
---|---|
[CentOS7] php7.2 mecab 형태소 분석 (2) | 2022.07.28 |
[PHP] cURL error 60: Peer’s Certificate issuer is not recognized (0) | 2021.12.09 |
asp euc-kr 에서 php utf-8 로 한글전송 (0) | 2021.07.01 |
[PHP] php + ci3 메모리 사용량 (0) | 2021.03.31 |
댓글