Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/share/doc/pecl/zip/examples/ |
Upload File : |
<?php error_reporting(E_ALL); if (!extension_loaded('zip')) { dl('zip.so'); } $name = __DIR__ . '/encrypted.zip'; $pass = 'secret'; $file = 'foo.php'; echo "== Create with per file password\n"; $zip = new ZipArchive; $zip->open($name, ZIPARCHIVE::CREATE | ZipArchive::OVERWRITE); $zip->addFile(__FILE__, $file); $zip->setEncryptionName($file, ZipArchive::EM_AES_256, $pass); $zip->close(); echo "== Create with global password\n"; $zip = new ZipArchive; $zip->open($name, ZIPARCHIVE::CREATE | ZipArchive::OVERWRITE); $zip->setPassword($pass); $zip->addFile(__FILE__, $file); $zip->setEncryptionName($file, ZipArchive::EM_AES_256); $zip->close(); echo "== Stat\n"; $zip->open($name); print_r($zip->statName($file)); echo "== Read\n"; $zip->setPassword($pass); $text = $zip->getFromName($file); printf("Size = %d\n", strlen($text)); $zip->close(); echo "== Stream with context\n"; $ctx = stream_context_create(array( 'zip' => array( 'password' => $pass ) )); $text = file_get_contents("zip://$name#$file", false, $ctx); printf("Size = %d\n", strlen($text));