1

주제: 압축풀기 알고리즘으로 TC를 쉽게 patch..

단순히 최상위 디렉토리에 이 압축풀기 파일을 놓고, 압축파일만 업로드해서 patch나 install을 하는 방법도 어떨까 싶군요 -_-);; (가끔씩 ftp에서 upload 실패해서 삽질만 하던 중에 이런 생각이 나버린)

대충 zip 파일 압축해제 (..) 함수는 아래와 같을텐데.

$userfile : 화일첨부로 업로드된 화일, $dir : 저장될 디렉토리
function Unzip($userfile, $dir) {
// 첨부가 없을때 리턴.
if ($userfile['error'] || !$userfile['name'])
return false;
// zip 이외의 화일에 warning 을 내뱉어서 추가했습니다.
if ($userfile['type'] == "application/x-zip-compressed") {
$zip = zip_open($userfile['tmp_name']);
while ($zip_entry = zip_read($zip)) {
if (zip_entry_open($zip, $zip_entry, "r")) {
$buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
$fp = fopen($dir. zip_entry_name($zip_entry), "w");
fwrite($fp, $buf);
fclose($fp);
zip_entry_close($zip_entry);
}
}
zip_close($zip);
}
// zip 이외의 화일을 곱게 업로드.
else {
move_uploaded_file($userfile['tmp_name'], $dir . $userfile['name']);
}
}

결자해지는 못하겠군요 -_-) 안좋은 idea 같아서 넘어가셔도 무방할 듯

2

답글: 압축풀기 알고리즘으로 TC를 쉽게 patch..

그냥 어디서 서칭하다 발견한 것이라서 완벽할 지는 모르겠네요 @_@

3

답글: 압축풀기 알고리즘으로 TC를 쉽게 patch..

Creorix 작성:

그냥 tar.gz 파일을 받아서 tar -xvzf 하셔도 되지 않을까요? smile

물론 그 방법도 존재하지만 shell을 쓸 줄 알아야 한다는 가정이 생기고, 제 말은 ftp 올리는 것도 귀찮은 사람, ftp를 쓸 줄 모르는(에 대한 개념이 없는) 사람, 서버 설치형 Opensource 대부분이 tar.gz나 zip파일을 지원하므로 다른 Opensource의 설치를 도와주는 Application을 구상하고 있거든요 -_-) smile

Silvester (2008-08-03 22:41:03)에 의해 마지막으로 수정

4

답글: 압축풀기 알고리즘으로 TC를 쉽게 patch..

Creorix 작성:
Silvester 작성:
Creorix 작성:

그냥 tar.gz 파일을 받아서 tar -xvzf 하셔도 되지 않을까요? smile

물론 그 방법도 존재하지만 shell을 쓸 줄 알아야 한다는 가정이 생기고, 제 말은 ftp 올리는 것도 귀찮은 사람, ftp를 쓸 줄 모르는(에 대한 개념이 없는) 사람, 서버 설치형 Opensource 대부분이 tar.gz나 zip파일을 지원하므로 다른 Opensource의 설치를 도와주는 Application을 구상하고 있거든요 -_-) smile

아, 저는 저걸 PHP CLI에서 실행시키는 것으로 알아들었습니다 roll

그런데 PHP의 Zip module이 더이상 support되지 않는 상태인지라 지원하는 서버가 많지 않을 것 같습니다. (http://kr2.php.net/manual/en/zip.installation.php) PHP만으로 구현된 Zip library가 있을 법도 한데 속도는 어떻게 될지 잘 모르겠습니다. 아이디어 자체는 나쁘지 않은 것 같습니다만 퍼미션 문제가 해결 가능할지 모르겠네요 smile

퍼미션 관련은 교주님과 겐도님을 통해 거의 포기인 듯한데
방금 좋은 생각이 떠올랐습니다

1. 소규모 FTP Client를 삽입해 퍼미션만 조정 할 수 있도록 한다.
2. 작은 아이콘으로 폴더를 표시해, 자동적으로 퍼미션을 조정할 수 있도록 한다.(시각적인 면도 고려)
3. Patch의 경우 config.php를 자동으로 삭제 할 수 있도록 한다.

5

답글: 압축풀기 알고리즘으로 TC를 쉽게 patch..

Creorix 작성:

점점 일이 커져가는군요 ~_~

차라리 그럴 바에는 날개 패키지(http://wingz.kr/s1/install) 처럼 인스톨러를 제공하는 것이 낫지 않을까요?

물론 저 위의 방법들은 전부 install 제공, 소규모 FTP 기능 제공에 텍스트큐브를 설치 할 수 있도록 하는 것입니다. -_-..:cool: 순서도는 다 그렸으니 Opensource Project중 공개되어 있는 FTP 소스를 한번 뜯어봐야겠어요