>백엔드 개발 >PHP 튜토리얼 >PHP에서 파일을 압축하고 압축하는 방법

PHP에서 파일을 압축하고 압축하는 방법

Joseph Gordon-Levitt
Joseph Gordon-Levitt원래의
2025-03-04 10:39:10629검색

How to Zip and Unzip Files in PHP

네트워크 전송 파일 압축은 압축 후 총 파일 크기가 크게 줄어들어 대역폭을 절약하고 사용자 다운로드 속도를 높입니다. 사용자는 다운로드 후 언제든지 압축을 압축 할 수 있습니다. 요컨대, 압축은 귀하와 방문자를위한 파일의 네트워크 전송을 크게 단순화 할 수 있습니다. 수동으로 파일을 압축하는 것은 번거 롭을 수 있지만 운 좋게도 PHP는 파일 압축 및 압축 압축 처리를 전문으로하는 많은 확장 기능을 제공합니다. 이 확장의 함수를 사용하여 PHP 파일을 자동으로 압축 할 수 있습니다. 이 자습서는 Zip Archives의 PHP에서 Zip Archives로 파일을 압축하는 방법을 안내합니다. 또한 먼저 압축을 내지 않고 아카이브에서 파일 이름을 삭제하거나 바꾸는 방법을 배웁니다. PHP 단일 파일 압축 디렉토리의 다중 파일 압축 아카이브

aurchive에서 내용을 추출하십시오

더 많은 아카이브 컨트롤
  • Zipp 's 's ziparchive :: rdonly
  • > PHP의 로고 (PHP 7.4.3 이상에서 사용할 수 있음)를 사용하면 읽기 전용 모드로 아카이브를 열 수 있습니다. 파일을 열 때 반환 된 다른 오류 코드를 이해하려면이 메소드의 설명서를 참조하여 파일이 실패 할 수 있습니다. zip 파일이 성공적으로 열거 나 생성되면 메소드는 기존 아카이브의 내용이 중요하지 않은 경우 ziparchive :: orverwrite 플래그를 반환합니다. 해당 이름이있는 아카이브가 존재하지 않으면 새 아카이브를 생성하지 않습니다. Ziparchive :: 조합으로 작성하여 기존 아카이브를 덮어 쓰고 해당 이름의 아카이브가없는 경우 새 아카이브를 만들 수 있습니다. 예제는 다음과 같습니다.
  • ziparchive :: 작성 및 Open () 메소드를 사용하여 읽기 및 쓰기를 위해 새 또는 기존 아카이브를 열십시오. 이 섹션에서는 $ 옵션으로 전달 된 플래그의 다른 조합으로 인해 발생할 수있는 차이점을 이해할 것입니다. Ziparchive :: Create는 이미 존재하는 경우 기존 아카이브를 생성하거나 기존 아카이브를 수정합니다. 기존 아카이브 수정에 대한 경고는받지 못할 것입니다. 즉,이 섹션에서 코드를 실행하여 아카이브를 작성한 다음 원본 옵션을 새 옵션으로 바꾸면 다시 실행하면 예상치 못한 결과가 나타납니다. 그런 다음 아카이브에는
  • 가 포함 된 월페이퍼 디렉토리와
  • 월페이퍼의 이미지 또한 libzip 1.6.0이므로 빈 파일은 더 이상 유효한 아카이브로 간주되지 않습니다. 아카이브에서 내용을 추출하는
  • 클래스에는 아카이브 된 컨텐츠를 추출하는

    라는 메소드가 있습니다. 이를 사용하여 아카이브의 모든 것을 추출하거나 특정 파일을 추출 할 수 있습니다. 매개 변수는 추출 할 단일 파일 이름을 지정하거나 파일 배열을 전달하는 데 사용될 수 있습니다.

    기억해야 할 것은 아카이브의 파일에 대한 올바른 경로를 지정하여 추출해야한다는 것입니다. 예를 들어, 우리는 이전 섹션에서

    alegreyasans-light.ttf 라는 글꼴 파일을 보관했습니다. 이 파일은 아카이브에서 font_files 라는 디렉토리에 저장됩니다. 이것은 매개 변수에 지정 해야하는 경로가 alegreyasans-light.ttf $entries가 아니라 font_files/alegreyasans-light.ttf 임을 의미합니다. 디렉토리 및 파일 구조는 추출 프로세스 중에 유지되며 파일은 해당 디렉토리로 추출됩니다.

    두 번째 매개 변수가 생략되면이 메소드는 아카이브에서 모든 파일을 추출합니다.

    더 많은 아카이브 컨트롤

    $zip->open('my_compressed_files.zip', ZipArchive::OVERWRITE|ZipArchive::CREATE);
    클래스는 또한 모든 것을 추출하기 전에 아카이브에 대한 자세한 정보를 얻을 수 있도록 많은 다른 방법과 속성을 제공합니다.

    메소드를 사용하여 아카이브의 파일 수를 계산할 수 있습니다. 또 다른 옵션은

    속성을 ​​사용하는 것입니다. 아카이브의 모든 파일을 반복하거나 필요한 파일 만 추출하거나 아카이브에서 제거하는 것과 같은 다른 작업을 수행 할 수 있습니다.

    다음 예에서는 italic

    가 포함 된 아카이브의 모든 파일을 삭제하고 있습니다. 비슷한 코드를 사용하여 특정 단어가 포함되지 않은 모든 파일을 삭제할 수 있습니다. 이러한 파일을 반복하고 특정 단어를 다른 내용으로 바꿀 수도 있습니다. ZipArchive

    위 코드에서는 <p>를 사용하여 단일 파일을 삭제합니다. 그러나이를 사용하여 전체 디렉토리를 삭제할 수도 있습니다. <code>count() 유사한 함수 numFiles는 아카이브의 파일 이름을 변경하는 데 사용될 수 있습니다. 라는 파일이 이미 존재하면 오류 메시지가 수신됩니다.

    요약 우리는 PHP에서 파일의 자동 압축과 압축을 산들 바람으로 만드는 매우 유용한 많은 방법을 도입했습니다. 이제 자신의 표준에 따라 단일 파일 또는 파일 그룹을 한 번에 압축 할 수 있어야합니다. 다시 한 번 다른 콘텐츠에 영향을 미치지 않고 아카이브에서 특정 파일을 추출 할 수 있어야합니다. 의 도움을 받아 개별 파일을 더 잘 제어 할 수 있으며,이를 바꾸거나 삭제하는 것은 매우 쉽습니다. 그러한 기능에 대해 자세히 알아 보려면 최소한 한 번은 문서를 읽어야합니다.

    위 내용은 PHP에서 파일을 압축하고 압축하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.