L'extension ZIP de PHP fournit une prise en charge puissante pour les opérations de fichiers zip. En commençant par PHP version 7.2.0, il prend en charge la définition de mots de passe pour les fichiers zip cryptés. En définissant l'option de contexte zip, vous pouvez spécifier un mot de passe lors de la lecture d'un fichier ZIP, déverrouillant ainsi le contenu chiffré.
Voici un exemple de code pour créer et chiffrer un fichier zip:
<?php
$zip
=
new
ZipArchive;
$zip
->open(
'test.zip'
);
$zip
->setPassword(
"MySecretPassword"
);
$zip
->addFile(
'c:/xampp/php/test.txt'
,
'test.txt'
);
$zip
->close();
?>
Pour lire un fichier à partir d'un fichier zip chiffré, vous pouvez utiliser l'exemple de code suivant pour accéder au contenu du fichier zip en définissant les options de contexte et en passant un mot de passe:
<?php
$opts
=
array
(
'zip'
=>
array
(
'password'
=>
'secret'
,
),
);
$context
= stream_context_create(
$opts
);
echo
file_get_contents
(
'zip://test.zip#test.txt'
, false,
$context
);
?>
Cet article détaille comment définir un mot de passe crypté à l'aide de l'extension ZIP de PHP et comment lire le contenu d'un fichier zip crypté via l'option de contexte de streaming. Avec ces méthodes, vous pouvez facilement gérer et manipuler les fichiers zip cryptés.