ホームページ  >  記事  >  バックエンド開発  >  PHP ZipArchive は、Zip ファイルの圧縮と解凍を実装します。

PHP ZipArchive は、Zip ファイルの圧縮と解凍を実装します。

WBOY
WBOYオリジナル
2016-07-30 13:31:441428ブラウズ
PHP ZipArchive は PHP に付属する拡張クラスで、ZIP ファイルを簡単に圧縮および解凍できます。使用する前に、まず PHP ZIP 拡張機能がオンになっていることを確認する必要があります。その方法については詳しく説明しません。さまざまなプラットフォームで PHP 拡張を有効にする方法はオンラインにあります。ご質問がございましたら、お気軽にお問い合わせください。参考までに、一般的に使用される例をいくつか示します。 1. zip ファイルを解凍します
$zip = new ZipArchive;//新建一个ZipArchive的对象
/*
通过ZipArchive的对象处理zip文件
$zip->open这个方法的参数表示处理的zip文件名。
如果对zip文件对象操作成功,$zip->open这个方法会返回TRUE
*/
if ($zip->open('test.zip') === TRUE)
{
$zip->extractTo('images');//假设解压缩到在当前路径下images文件夹的子文件夹php
$zip->close();//关闭处理的zip文件
}

2. ファイルを zip ファイルに圧縮します
$zip = new ZipArchive;
/*
$zip->open这个方法第一个参数表示处理的zip文件名。
第二个参数表示处理模式,ZipArchive::OVERWRITE表示如果zip文件存在,就覆盖掉原来的zip文件。
如果参数使用ZIPARCHIVE::CREATE,系统就会往原来的zip文件里添加内容。
如果不是为了多次添加内容到zip文件,建议使用ZipArchive::OVERWRITE。
使用这两个参数,如果zip文件不存在,系统都会自动新建。
如果对zip文件对象操作成功,$zip->open这个方法会返回TRUE
*/
if ($zip->open('test.zip', ZipArchive::OVERWRITE) === TRUE)
{
$zip->addFile('image.txt');//假设加入的文件名是image.txt,在当前路径下
$zip->close();
}

3. zip ファイルにファイルを追加します
りー
4. フォルダーを zip ファイルに圧縮します
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
$zip->addFromString('test.txt', 'file content goes here');
$zip->close();
echo 'ok';
} else {
echo 'failed';
}
ZipArchive メソッドは次のとおりです:
  • ZipArchive::addEmptyDir — 新しいディレクトリを追加します
  • ZipArchive::addFile — 指定されたパスから ZIP アーカイブにファイルを追加します
  • ZipArchive::addFromString — その内容を使用して ZIP アーカイブにファイルを追加します
  • ZipArchive: :close — アクティブなアーカイブ (開いている、または新しく作成した) を閉じます
  • ZipArchive::deleteIndex — インデックスを使用してアーカイブ内のエントリを削除します
  • ZipArchive::deleteName — 名前を使用してアーカイブ内のエントリを削除します
  • ZipArchive:: extractTo — アーカイブの内容を抽出します
  • ZipArchive::getArchiveComment — Zip アーカイブのコメントを返します
  • ZipArchive::getCommentIndex — エントリを使用してエントリのコメントを返します Index
  • ZipArchive::getCommentName — エントリ名を使用してエントリのコメントを返します
  • ZipArchive::getFromIndex — インデックスを使用してエントリの内容を返します
  • ZipArchive::getFromName — 名前を使用してエントリの内容を返します
  • ZipArchive: :getNameIndex — インデックスを使用してエントリの名前を返します
  • ZipArchive::getStatusString — ステータス エラー メッセージ、システムおよび/またはを返します zip メッセージ
  • ZipArchive::getStream — 名前で定義されたエントリへのファイル ハンドラーを取得します(読み取り専用)。
  • ZipArchive::locateName — アーカイブ内のエントリのインデックスを返します
  • ZipArchive::open — ファイルを開きますZIP ファイルアーカイブ
  • ZipArchive::renameIndex — インデックスで定義されたエントリの名前を変更します
  • ZipArchive::renameName — 名前で定義されたエントリの名前を変更します
  • ZipArchive::setArchiveComment — ZIP アーカイブのコメントを設定します
  • ZipArchive:: setCommentIndex — インデックスで定義されたエントリのコメントを設定します
  • ZipArchive::setCommentName — 名前で定義されたエントリのコメントを設定します
  • ZipArchive::statIndex — インデックスで定義されたエントリの詳細を取得します
  • ZipArchive ::statName — 名前で定義されたエントリの詳細を取得します。
  • ZipArchive::unchangeAll — アーカイブ内で行われたすべての変更を元に戻します
  • ZipArchive::unchangeArchive — アーカイブ内で行われたすべてのグローバル変更を元に戻します。
  • ZipArchive:: unchangeIndex — 指定されたインデックスのエントリに加えられたすべての変更を元に戻します
  • ZipArchive::unchangeName — 指定された名前のエントリに加えられたすべての変更を元に戻します

  • 以上は、PHP ZipArchive を介して、側面のコンテンツを含む圧縮 Zip ファイルの圧縮を実現するもので、PHP 教程に関心のある友人の助けになることを望みます。

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