답변:
FTP 연결을 통해 파일의 압축을 풀 수 없습니다. FTP는 "파일 전송 프로토콜"의 약자로, 원격 끝에서 파일을 전송하고 부분적으로 만 관리하도록 설계되었지만 명령은 실행하지 않습니다. 아카이브의 압축을 풀려면 tar, bzip2 또는 이와 유사한 프로그램을 실행해야하지만 FTP 연결로는 불가능합니다.
SSH와 같은 명령을 실행할 수있는 다른 세션이 필요합니다. 또는 컴퓨터에서 아카이브의 압축을 풀고 FTP를 통해 내용을 전송하십시오. FTP의 오버 헤드로 인해 작은 파일이 많으면 상당히 느려집니다.
unzip
.
문맥에 대한 답변이 약간 있지만 확실하게 작동합니다. 해당 ftp 디렉토리에서 Apache + php를 실행중인 경우 해당 폴더에 zip 파일을 업로드하고 다음을 작성하십시오 extractor.php
.
$zip = new ZipArchive;
if ($zip->open('my_zip.zip') === TRUE) {
$zip->extractTo('/path/to/my/zip');
$zip->close();
echo 'ok';
}
그런 다음 url을 누르십시오. http://example.com/extractor.php
bingo php는 해당 zip을 추출합니다.
다음을 사용하여 ftp 리소스를 마운트하면 가능합니다 curlftpfs
.
curlftpfs ftp://ftp.server.org/ /path/to/mountpoint
그때
unzip /path/to/mount/test.zip
http://linux.about.com/od/commands/a/blcmdl1_unzipx.htm
간단한 경우-압축 해제 test.zip
외부 서버 에서 압축을 푸는 것이 목표입니까 , 아니면 아카이브 내용 을 자신의 컴퓨터로 가져 오 시겠습니까?
첫 번째 경우는 FTP가 아니라 다른 답변에서 설명한 SSH 또는 유사한 기술로 해결됩니다.
압축을 푼 내용을 먼저 파일을 명시 적으로 전송 한 다음 압축을 풀지 않고 자신의 컴퓨터에 "직접"가져 오려면 FTP 사이트를 폴더로 마운트하고 로컬의 위치에 일반 zip 파일로 압축 해제하십시오. 컴퓨터. 이 의지 실제로는 당신이 기술적 있도록 압축 해제 프로그램에 직접 파일의 내용을 스트리밍 할 전체 파일을 전송할 수 있지만 그 압축 된 상태에서 (아마도 트래픽을 저장) 및 내용이 명시적인 중간 단계없이 로컬 컴퓨터에 직접 표시됩니다.
zip 파일의 일부를 압축 해제하는 것과 관련하여 zip 파일 형식을 지정하는 방법을 모르겠습니다. 그럼에도 불구하고 전체 파일 을 전송해야 하거나 해당 파일에 해당하는 압축 된 부분 만 전송해야 합니다. 이러한 종류의 선택적 전송을 수행 할 수없는 이유에 대한 실제적인 기술적 이유는 없습니다 (FTP 프로토콜은 부분 파일 만 전송하여 재개 가능).
tar 명령을 사용할 수 있습니다
tar -xfz test.zip
-xzf
대신 -xfz
?
site
FTP 명령을 사용하는 경우에도 )