ホームページ  >  記事  >  バックエンド開発  >  PHP zip ファイル

PHP zip ファイル

WBOY
WBOYオリジナル
2024-08-29 12:55:501284ブラウズ

PHP の Zip ファイル関数は、多数のファイルまたはディレクトリを圧縮して保存するために使用されます。 Zip は、ファイルを圧縮形式で保存するために使用されるアーカイブ ファイル形式です。 Zip アーカイブは、多くのファイルやディレクトリを圧縮形式でまとめて保存し、共有するのに便利です。 PHP Zip ファイルは PHP の組み込み関数ではありません。PHP では他の組み込み関数が利用できるため、クラスが存在しない場合はインストールする必要があります。 PHP 5 または別の新しいバージョンを使用している場合、必要な拡張機能は無料でダウンロードしてインストールできます。 Zip 拡張子には libzip が必要です。

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

Zip ファイルを操作するには、次のようにインストールを実行する必要があります –

Linux ユーザー (PHP 5 以降):

  • Linux ユーザーは、デフォルトでは組み込まれていない PHP Zip 関数とライブラリをダウンロードして組み込む必要があります。
  • libzip バージョン 0.11 以降がインストールされていることを確認し、推奨バージョンは 0.11.2 以降であることを確認します。
  • PHP のコンパイル中に、構成オプション –with-libzip=DIR を使用して、Zip サポートを組み込みます。
  • Zip 関数を有効にするには、PHP を –enable-zip フラグを使用してコンパイルする必要があります。

Windows ユーザー (PHP 5 以降):

  • Linux と同様に、PHP Zip 関数とライブラリは Windows ユーザーに対してデフォルトでは組み込まれていません。
  • Zip 機能を利用するには、php.ini 設定ファイル内にある php_zip.dll ファイルをダウンロードして有効にします。
  • PHP 5.3 では、この拡張機能はすでに組み込まれているため、追加の手順は必要ないことに注意してください。

機能

Zip ファイルを操作するときは、以下で説明する関数のいくつかを使用する必要があります –

  • zip_open(): ZIP ファイル アーカイブを読み取り用に開きます。
  • zip_read(): 開いている ZIP ファイル アーカイブ内の次のファイルを読み取ります。
  • zip_entry_open(): ZIP ファイル内のディレクトリ エントリを読み取り用に開きます。
  • zip_entry_read(): ZIP ファイル内の開いているディレクトリ エントリから読み取ります。
  • zip_entry_compressedsize(): ZIP ディレクトリ エントリの圧縮ファイル サイズを取得します。
  • zip_entry_compressionmethod(): ZIP ディレクトリ エントリの圧縮方法を取得します。
  • zip_entry_filesize(): ZIP ディレクトリ エントリのファイルの実際のサイズを取得します。
  • zip_entry_name(): ZIP ディレクトリ エントリの名前を取得します。
  • zip_close(): ZIP ファイルアーカイブを閉じます。
  • zip_entry_close(): ZIP ディレクトリ エントリを閉じます。

配列への PHP XML の例

Zip ファイルを作成するための PHP Zip ファイルの例 -

次に、次の例で、PHP Zip ファイルをより明確に理解するために PHP コードを作成します。ここで、Zip ファイルは、以下のように、多数のファイルとディレクトリを圧縮形式で保存するために使用されます –

例 #1

まず、フォルダーを作成し、次にバンドルして ZIP 化するファイルまたはディレクトリを作成します。次に、PHP コードを使用して圧縮します。

コード:

<?php
// give the path of directory whose file we want to Zip
$dir_path = "C:/xampp/htdocs/programs/";
// give the name to create the zipped directory
$zipfile = "ExZip.zip";
// Creating the new zip class
$zip_obj = new ZipArchive;
if( $zip_obj -> open( $zipfile, ZipArchive::CREATE ) === TRUE )
{
// open the directory at the gien path into the variable
$dir = opendir( $dir_path );
while( $file = readdir( $dir )) {
if( is_file( $dir_path.$file )) {
$zip_obj -> addFile( $dir_path.$file, $file );
}
}
$zip_obj ->close();
}
?>

出力:

PHP zip ファイル

上記のコードと同様に、ディレクトリ パス (すべてのファイルが Zip される場所) とファイル名 (zip ファイルが作成される名前) が含まれています。まず、コード「$zip_obj = new ZipArchive;」を使用して、ZipArchive クラス オブジェクトを作成します。次に、そのディレクトリ パスで利用可能なすべてのファイルを繰り返し、ZipArchive オブジェクトを使用して、コード「$zip_obj ->」を使用してファイルを Zip アーカイブに追加します。 addFile( $dir_path.$file, $file );.”

例 #2

Zip ファイルを解凍するための PHP Zip ファイルの例 -

次に、PHP Zip ファイルを理解するための PHP コードを記述します。以下のように、Zip ファイルが解凍されて、ここですべての ZIP ファイルまたはディレクトリが抽出されます。

コード:

<?php
// Enter the path of directory
$dir_path = "C:/xampp/htdocs/programs/";
// give the name to create the zipped directory
$zipfile = "ExZip.zip";
// create new zip class object
$zip_obj = new ZipArchive;
$file = $dir_path.$zipfile;
print("The Zip file location is : ");
print($file);
// Add zip filename which we need to unzip
$zip_obj->open( $file );
// Extract all the Zip files to the current directory
$zip_obj->extractTo('./');
$zip_obj->close();
?>

出力:

PHP zip ファイル

上記のコードと同様に、ディレクトリ パスとファイル名 (どのファイルを解凍するか) が含まれています。まず、コード「$zip_obj = new ZipArchive;」を使用して、ZipArchive クラス オブジェクトを作成します。次に、ZipArchive オブジェクトを使用して、そのパスからファイルが開かれ、コード「$zip_obj ->」を使用して、Zip アーカイブに追加されたすべてのファイルを抽出します。 extractTo(‘./’);”.

以上がPHP zip ファイルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:PHP sscanf()次の記事:PHP sscanf()