PHPのZIP拡張機能は、ZIPファイル操作に強力なサポートを提供します。 PHPバージョン7.2.0から始めて、暗号化されたZIPファイルのパスワードの設定をサポートします。 zipコンテキストオプションを設定することにより、zipファイルを読み取るときにパスワードを指定して、暗号化されたコンテンツのロックを解除できます。
zipファイルを作成および暗号化するためのコード例を次に示します。
<?php
$zip
=
new
ZipArchive;
$zip
->open(
'test.zip'
);
$zip
->setPassword(
"MySecretPassword"
);
$zip
->addFile(
'c:/xampp/php/test.txt'
,
'test.txt'
);
$zip
->close();
?>
暗号化されたzipファイルからファイルを読み取るには、次のコード例を使用して、コンテキストオプションを設定し、パスワードを渡すことにより、zipファイルのコンテンツにアクセスできます。
<?php
$opts
=
array
(
'zip'
=>
array
(
'password'
=>
'secret'
,
),
);
$context
= stream_context_create(
$opts
);
echo
file_get_contents
(
'zip://test.zip#test.txt'
, false,
$context
);
?>
この記事では、PHPのzip拡張機能を使用して暗号化されたパスワードを設定する方法と、ストリーミングコンテキストオプションを介して暗号化されたzipファイルのコンテンツを読み取る方法について詳しく説明します。これらの方法を使用すると、暗号化されたZIPファイルを簡単に管理および操作できます。