ホームページ > バックエンド開発 > PHPチュートリアル > PHP には ZIP 圧縮および解凍クラス ZipArchiv の使用ガイド_PHP チュートリアルが付属しています

PHP には ZIP 圧縮および解凍クラス ZipArchiv の使用ガイド_PHP チュートリアルが付属しています

WBOY
リリース: 2016-07-13 10:04:56
オリジナル
1179 人が閲覧しました

PHP独自のZIP圧縮・解凍クラスZipArchivの使い方ガイド

この記事では主にPHP独自のZIP圧縮・解凍クラスZipArchivの使い方ガイドを紹介していますので、必要な方は参考にしてください

この PHP 拡張クラスを使用するには、(PHP 5 >= 5.2.0、PECL zip >= 1.1.0) が必要です。一部のメソッドでは PHP 5.2.+ が必要で、php.ini 設定は zip をサポートしています
Win システムの場合は、php_zip.dll 拡張子のコメントを削除して、http サービス (IIS または Apache) を再起動します
Linux はまだテストされていないため、理論的には大きな違いはありません

特徴:
1. zip ファイルを解凍します
2. ファイルを zip ファイルに圧縮します
3. ファイルを zip ファイルに追加します
4. フォルダーを zip ファイルに圧縮します (ループ内でファイルを追加し、空のフォルダーを作成する必要があります)
5. 圧縮ファイル内のエントリを削除します

---------- ZipArchive オブジェクトの一般的なメソッドの紹介 ---------------------

テスト規約:
テスト ファイルは text.zip で、以下に示すように 3 つの圧縮ファイル (hello.txt、word.txt、ooxx.jpg) が含まれています

コードは次のとおりです:


テキスト.zip
こんにちは。txt
word.txt
ooxx.jpg

さらに操作するにはzipファイルを開いてください
ZipArchive::open
(PHP 5 >= 5.2.0、PECL zip >= 1.1.0)
混合 ZipArchive::open ( string $filename [, int $flags ] )

第2パラメータの説明

ZIPARCHIVE::OVERWRITE は常に新しいファイルを作成します。指定された zip ファイルが存在する場合は上書きされます
ZIPARCHIVE::CREATE 指定された zip ファイルが存在しない場合は、新しい zip ファイルを作成します
ZIPARCHIVE::EXCL 指定された zip ファイルが存在する場合、エラーが報告されます
ZIPARCHIVE::チェックコン

戻り値:

戻り値が以下のプロパティと等しい場合、対応するエラーを示すか、TRUEを返します
$res == ZipArchive::ER_EXISTS ファイルは既に存在します (ファイルは既に存在します)
$res == ZipArchive::ER_INCONS Zip アーカイブに一貫性がありません (圧縮ファイルに一貫性がありません)
$res == ZipArchive::ER_INVAL 無効な引数 (無効なパラメータ)
$res == ZipArchive::ER_MEMORY Malloc エラー (メモリ エラー? これは不確かです)
$res == ZipArchive::ER_NOENT そのようなファイルはありません (そのようなファイルはありません)
$res == ZipArchive::ER_NOZIP zip アーカイブではありません (圧縮ファイルはありません)
$res == ZipArchive::ER_OPEN ファイルを開けません (ファイルを開けません)
$res == ZipArchive::ER_READ 読み取りエラー (読み取りエラー)
$res == ZipArchive::ER_SEEK シーク エラー

コードは次のとおりです:


$zip = 新しい ZipArchive
; $res = $zip->open('test.zip'); if ($res === TRUE) {
「わかりました」とエコーします。 //テストフォルダーに解凍します
$zip->extractTo('テスト'); $zip->close(); } その他 {
エコー「失敗しました、コード:」
}
?>



圧縮ファイル内のリストインデックスに基づいて圧縮ファイルの名前を返します

ZipArchive::getNameIndex

string ZipArchive::getNameIndex ( int $index [, int $flags ] )


コードは次のとおりです:

$zip = 新しい ZipArchive(); $res = $zip->open('test.zip'); if ($res === TRUE) {

var_dump($zip->getNameIndex(0)); // hello.txt
var_dump($zip->getNameIndex(1)); // word.txt
var_dump($zip->getNameIndex(2)); // ooxx.jpg
} その他 {
エコー「失敗しました、コード:」
}
$zip->close(); ?>



圧縮時のファイル名に従って、ファイルのテキストストリームを取得します

ZipArchive::getStream
リソース ZipArchive::getStream ( string $name )

コードは次のとおりです:


$zip = 新しい ZipArchive(); $res = $zip->open('test.zip'); if ($res === TRUE) {

$stream = $zip->getStream('hello.txt'); } その他 {

エコー「失敗しました、コード:」

}

$zip->close(); $str = stream_get_contents($stream); // ここで取得したテキストのエンコーディングに注意してください
var_dump($str); ?>



圧縮ファイル内のインデックスに従って、圧縮ファイル内のファイル名を変更します(0から始まります)

ZipArchive::renameIndex
bool ZipArchive::renameIndex ( int $index , string $newname )
(PHP 5 >= 5.2.0、PECL zip >= 1.5.0)

成功した場合は TRUE を返し、失敗した場合は FALSE を返します。

コードは次のとおりです:


$zip = 新しい ZipArchive
; $res = $zip->open('test.zip'); if ($res === TRUE) {
//圧縮ファイルの最初のファイルを newname.txt に変更します
$zip->renameIndex(0,'newname.txt'); $zip->close(); } その他 {
エコー「失敗しました、コード:」
}
?>


圧縮ファイル内のファイル名に基づいて、圧縮ファイル内のファイル名を変更します

ZipArchive::renameName

(PHP 5 >= 5.2.0、PECL zip >= 1.5.0)


コードは次のとおりです:

$zip = 新しい ZipArchive

; $res = $zip->open('test.zip'); if ($res === TRUE) {
//圧縮ファイル内のword.txtをnewword.txtに変更します
$zip->renameName('word.txt','newword.txt'); $zip->close(); } その他 {
エコー「失敗しました、コード:」
}
?>



圧縮ファイルのコメントを取得(zipファイルのコメント)

ZipArchive::getArchiveComment

(PHP 5 >= 5.2.0、PECL zip >= 1.1.0)

string ZipArchive::getArchiveComment ([ int $flags ] )

パラメータ: ZipArchive::FL_UNCHANGED

パラメーターが ZipArchive::FL_UNCHANGED に設定されている場合、元の変更されていない注釈が返されます

たとえば、圧縮ファイルを処理する場合、setArchiveComment() メソッドを使用してコメントを変更または設定します

ZipArchive::FL_UNCHANGED パラメーターを追加すると、変更前の注釈コンテンツを取得することになります。それ以外の場合は、変更された注釈コンテンツを取得します
同様のものには次のものがあります:
ZipArchive::getCommentIndex は、圧縮ファイル内のファイル インデックスに基づいて [ファイル コメント] を取得します
ZipArchive::getCommentName 圧縮ファイル内のファイル名に基づいて [ファイルコメント] を取得します
注: これらはファイルのコメントであり、圧縮ファイル (zip) のコメントではありません

圧縮ファイルのコメント(zipファイルのコメント)を設定または変更する
ZipArchive::setArchiveComment
(PHP 5 >= 5.2.0、PECL zip >= 1.4.0)
bool ZipArchive::setArchiveComment ( string $comment )


コードは次のとおりです:

$zip = 新しい ZipArchive

; $res = $zip->open('test.zip', ZipArchive::CREATE); if ($res === TRUE) {

//$zip->addFromString('test.txt', 'ファイルの内容がここにあります'); $zip->setArchiveComment('新しいアーカイブ コメント'); $zip->close(); 「わかりました」とエコーします。 } その他 {

エコー「失敗しました」
; }
?>



圧縮ファイル内のインデックスに基づいて圧縮ファイル内のファイルを削除します (つまり、ファイル内のエントリを削除します)

ZipArchive::deleteIndex
(PHP 5 >= 5.2.0、PECL zip >= 1.5.0)

1.zipファイルの解凍方法extractTo()

コードは次のとおりです:

$zip = 新しい ZipArchive();


1. 圧縮ファイルを作成するにはどうすればよいですか? addFromString() addFile()

それは、1 つ以上のファイルを zip ファイルに圧縮することです

1. 新しい ZipArchive オブジェクトのみが必要です

2. 次に、オブジェクトの open メソッドを使用して zip ファイルを作成します

3. 次に、addFile メソッドを使用して、作成した zip ファイルにパッケージ化するファイルを書き込みます
4. 最後に忘れずにオブジェクトを閉じてください

コードは次のとおりです:

// 新しい ZipArchive オブジェクトを作成します

$zip = 新しい ZipArchive
; $res = $zip->open('test.zip'); // オープニングが成功した場合
if ($res === TRUE) {
// オープンに失敗した場合

} その他 {

//エラーコードを出力する

エコー「失敗しました、コード:」

}

$zip->close();


以上がこの記事の全内容です、皆様のお役に立てれば幸いです。






http://www.bkjia.com/PHPjc/964003.html

www.bkjia.com
tru​​e

http://www.bkjia.com/PHPjc/964003.html

技術記事 PHP 独自の ZIP 圧縮および解凍クラス ZipArchiv の使用ガイド。この記事では主に PHP 独自の ZIP 圧縮および解凍クラス ZipArchiv の使用ガイドを紹介します。必要な方は参考にしてください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート