2009-11-04 4 views
1

zip64 형식의 cron 파일을 다운로드했습니다.zip64 지원?

어떻게 PHP 나 PHP cmd()를 사용하여 압축을 풀 수 있습니까?

답변

2

놀라 울 정도로 유닉스의 압축이 풀렸습니다.

exec(unzip -n -q zip-downloaded-by-cron.zip -d photos); 
+1

unzip 6.00에는 zip64 확장자가 있습니다. 이전 버전은 그렇지 않습니다. – jmanning2k

0

내가 아는 몇 가지 옵션이 있습니다.

PHP가 Windows에서 실행되는 경우 COM 인터페이스를 사용하여 DotNetZip을 사용할 수 있습니다.

$zipInput = "c:\\temp\\zip-downloaded-by-cron.zip"; 
$zip = new COM("Ionic.Zip.ZipFile"); 
$zip->Initialize($zipInput); 
$dirForExtract= "c:\\temp\\extract"; 
# optional password 
$zip->Password = "AES-Encryption-Is-Secure"; 
$zip->ExtractAll($dirForExtract); 
$zip->Dispose(); 

DotNetZip의 경우 zip 파일을 읽을 때 필요할 때 ZIP64가 자동으로 사용됩니다.

또는 DotNetZip과 함께 제공되는 명령 줄 도구를 호출 할 수 있습니다. 이것은 Windows + .NET 외에도 Linux + Mono에서 작업 할 때 장점이 있습니다. 이 도구는 unzip.exe이므로 (cmd) unzip.exe downloaded-zip.zip 만 호출하면됩니다. 그것은 자동으로 zip64 물건을 처리합니다. unzip.exe에는 추출 할 위치, 추출 할 파일 등을 지정하는 옵션이 있습니다.

+0

Linux 아니요, DotNetZip unzip.exe를 사용할 수 있습니까? –

+0

아니요, Linux를 사용하는 경우 DotNetZip을 실행하려면 mono가 필요합니다. – Cheeso

0

분명히 펄의 IO::Compress::Zip 모듈은 Zip64를 지원합니다. 설치하기에 편한 편이라면 shell_exec()을 통해 작은 Perl 스크립트를 호출 할 수 있습니다.

+0

서버 prob 때문에 perl PHP 모듈을 설치할 수 없습니다. 그래서 나는 passthru() 또는 cmd()를 통해 스크립트를 호출 할 수있다. 나는 zip64 (IO :: Uncompress :: Unzip?)를 부 풀릴 필요가있다. 나는 perl을 가지고있다. v8.8.8은 i686-linux 용으로 만들어진 사람이다. 요구? –