![]() ![]() ![]() ![]() |
|||||
|
|||||
樓主 迷路 ![]()
![]() ![]() |
$zip->setEncryptionName($path); 這樣寫的話會出現錯誤紀錄 PHP Warning: ZipArchive::setEncryptionName() expects at least 2 parameters, 1 given in 少給必要參數,但是壓縮依然會完成 並且可以順利解壓縮 但是如果改成 $zip->setEncryptionName($path, ZipArchive::EM_AES_256); 這樣不會有錯誤紀錄 但是另一邊用ZipArchive進行解壓縮時 只能解出目錄,裡面加密的檔案會解不出來 由於主機設定關係 我這邊無法讓解壓縮網站的ZipArchive升到能壓縮的版本 因此猜測是舊版本中沒有AES_256這個加密 想請問有解決方式嗎?或是有其他參數可使用嗎?網路上只找的到AES_256而已 |
1樓
作者回應
迷路 ![]() ![]() |
目前查到的資訊是 EM_AES_256 之類的加密模式只有新版本才有
舊版本雖然有setPassword,但是實際上卻沒有加密模式的資料 所以不單無法加密壓縮,也無法解壓縮有加密的壓縮檔 如果我的理解無誤,這可真是讓人無言
本篇文章回覆於2020-03-23 18:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
2樓 |
把ZipArchive::EM_AES_256 改成 \ZipArchive::EM_AES_256
或是$zip->setEncryptionName(basename($file), \ZipArchive::EM_AES_256); 試試看?
本篇文章回覆於2020-03-25 11:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
回覆 |
如要回應,請先登入. |