'ZIP'에 해당되는 글 2건

  1. 2010.01.06 한글 파일이름 깨짐현상 해결책
  2. 2009.04.28 PHP로 파일 압축/해제하기 - PclZip Library (1)
2010.01.06 19:51

한글 파일이름 깨짐현상 해결책

디렉토리나 파일 이름에 한글이 포함된 경우 다른 서버로 데이터를 이전하기 위해서 보통 압축을 사용한다.

이 경우 두 서버가 문자셋(Character Set)이 서로 상이한 경우 한글이름이 깨지는 현상이 발생한다.

윈도우 압축 파일을 리눅스에서 사용할 경우에도 동일한 현상이 발생한다.

- 한글 파일을 압축 및 여러 수단을 이동 후

# convmv -f cp949 -t utf8 --notest -r .
# convmv -f utf-8 -t euc-kr --notest 한글.txt

이미 UTF8 라고 나올때는, --nosmart 옵션을 사용하면 된다. (convmv 1.09 기준)

tar 압축을 사용할 경우 별도 옵션이 없다.

그러나 zip 압축을 사용하는 방법이 있다.

zip 에는 문자셋을 지정할 수 있는 옵션이 있다. (단, 압축할때는 불가능하고 압축을 풀때만 가능)

# zip 한글.zip 한글.txt

# unzip -O cp949 한글.zip

Trackback 0 Comment 0
2009.04.28 10:27

PHP로 파일 압축/해제하기 - PclZip Library

PHP만으로도 zip/tar 등의 압축 방식으로 파일이나 디렉토리를 압축하거나 해제할 수 있습니다. 먼저 PclZip Library가 필요한데요, 현재 공식 사이트에는 접속이 안되어서 여기에 다운로드 링크를 걸어두겠습니다.

파일이나 디렉토리의 압축

<?
include('pclzip.lib.php');

//PclZip 객체를 생성합니다.
//$객체 = new PclZip("생성할 압축파일 이름");
$zipfile = new PclZip('test.zip');

//zip파일에 압축할 파일이나 디렉토리의 경로를 지정하여 압축을 실행합니다.
//$객체->create("파일이나 디렉토리 경로");
$create = $zipfile->create("./test/");

//압축파일이 정상적으로 생성되었는지 확인합니다.
if(!empty($create))
echo "<b>test.zip created successfully.</b>";
else
echo "Failed to create test.zip";
?>


압축 파일의 해제

<?
include('pclzip.lib.php');

// PclZip 객체를 생성합니다.
//$객체 = new PclZip("해제할 압축파일 이름");
$zipfile = new PclZip('test.zip'); 

//zip파일의 압축을 해제하여 저장할 디렉토리의 경로를 지정합니다.
//$객체->extract(PCLZIP_OPT_PATH, '디렉토리 경로');
$extract = $zipfile->extract(PCLZIP_OPT_PATH, './extract/'); 

//압축파일이 정상적으로 해제되었는지 확인합니다.
if(!empty($extract))
echo "test.zip extracted successfully.";
else
echo "Failed to extract test.zip";
?>

http://www.phpconcept.net

Trackback 0 Comment 1
  1. PhpConcept 2009.04.30 09:16 address edit & del reply

    http://www.phpconcept.net/pclzip/