php ZipArchive classの使用例を詳しく解説_PHPチュートリアル
php ZipArchive はファイルの圧縮と解凍を行うことができる機能ですが、このクラスを使用する前に php.ini に extension=php_zip.dll を設定する必要があります。 ? このクラス ライブラリを使用できるように、それを削除してから Apache を再起動します。
ziparchive のオプションのパラメーター
1.ZipArchive::addEmptyDir
新しいファイルディレクトリを追加します
2.ZipArchive::addFile
指定された zip アーカイブにファイルを追加します。
3.ZipArchive::addFromString
追加されたファイルには、コンテンツも同時に追加されます
4.ZipArchive::close
zipアーカイブを閉じる
5.ZipArchive::extractTo
圧縮パッケージを解凍します
6.ZipArchive::open
zip アーカイブを開く
7.ZipArchive::getStatusString
エラー情報、圧縮情報などを含む、圧縮中のステータス内容を返します。
8.ZipArchive::deleteIndex
圧縮パッケージ内の特定のファイルを削除します。たとえば、 deleteIndex(0) は最初のファイルを削除します
9.ZipArchive::deleteName
圧縮パッケージ内の特定のファイル名を削除し、そのファイルも削除します。
...
*/
例
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 = 新しい ZipArchive; /* $zip->open メソッドの最初のパラメータは、処理される zip ファイルの名前を示します。 2 番目のパラメータは、処理モードを示します。ZipArchive::OVERWRITE は、zip ファイルが存在する場合、元の zip ファイルが上書きされることを示します。 パラメータで ZIPARCHIVE::CREATE が使用されている場合、システムはコンテンツを元の zip ファイルに追加します。 zip ファイルにコンテンツを複数回追加しない場合は、ZipArchive::OVERWRITE を使用することをお勧めします。 これら 2 つのパラメータを使用すると、zip ファイルが存在しない場合、システムが自動的に作成します。 zip ファイル オブジェクトの操作が成功すると、$zip->open メソッドは TRUE を返します */ if ($zip->open('test.zip', ZipArchive::OVERWRITE) === TRUE) { $zip->addFile('image.txt');//現在のパスに追加されたファイル名が image.txt であると仮定します $zip->close(); } |
3. zip ファイルにファイルを追加します
コードは次のとおりです | コードをコピー |
$zip = 新しい ZipArchive; $res = $zip->open('test.zip', ZipArchive::CREATE); if ($res === TRUE) { $zip->addFromString('test.txt', 'ファイルの内容はここにあります'); $zip->close(); 「ok」をエコーします; } その他 { エコー「失敗しました」; } |
4. フォルダーを zip ファイルに圧縮します
コードは次のとおりです | コードをコピー |
関数 addFileToZip($path, $zip) {
if ($zip->open('images.zip', ZipArchive::OVERWRITE) === TRUE) { |
ファイル名だけがわかっていて、ファイルの具体的なパスがわからない場合は、インデックスで指定したファイル名を検索し、そのインデックスを頼りにコンテンツを取得できます。
コードをコピー | |
$zip = 新しい ZipArchive; |
上記で取得したインデックスは、locateName メソッドに依存しています。圧縮パッケージ内の複数のパスに同じ名前のファイルがある場合、すべてのファイルのインデックスを取得したい場合は、最初のファイルのインデックスのみを返すことができるようです。同じ名前の場合、愚かな方法を使用してループ内で検索することしかできません。
コードをコピー | |
$zip = 新しい ZipArchive; if ($zip->open('test.zip') === TRUE) { for($i = 0; $i numFiles; $i++) { If(substr_count($zip->getNameIndex($i), 'example.php')>0){ } } } ?> |
http://www.bkjia.com/PHPjc/632774.html

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
