日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

php压缩包 加密,php加密压缩文件

發(fā)布時間:2023/12/20 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php压缩包 加密,php加密压缩文件 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言

近幾日,用爬蟲采集的了一些數(shù)據(jù),存放到硬盤中,隨著數(shù)據(jù)量越來越多,所以想上傳到網(wǎng)盤當(dāng)中,可是不加下密又覺得不放心,

所以開始用PHP的zip模塊進行壓縮加密.

開始

$zipArc = new \ZipArchive();

if ($zipArc->open('/home/test.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE) === true) {

//設(shè)置密碼 注意此處不是加密,僅僅是設(shè)置密碼

if (!$zipArc->setPassword('password')) {

throw new RuntimeException('Set password failed');

}

//往壓縮包內(nèi)添加文件

$zipArc->addFile('/home/test.png', '1/test.png');

//加密文件 此處文件名及路徑是壓縮包內(nèi)的

if (!$zipArc->setEncryptionName('1/test.png', ZipArchive::EM_AES_256)) {

throw new RuntimeException('Set encryption failed');

}

}

$zipArc->close();

注意事項

1 PHP7.2以下不支持加密

php7.2 以下是不支持加密的,我們看一下php官方文檔中的解釋

從PHP 7.2.0和libzip 1.2.0開始,密碼用于解壓縮歸檔,也是ZipArchive :: setEncryptionName() 和ZipArchive :: setEncryptionIndex()的默認密碼。

以前,此功能僅設(shè)置用于解壓縮存檔的密碼; 它沒有將非密碼保護的ZipArchive 變成受密碼保護的ZipArchive。

也就是說php7.2之前,setPassword(‘password‘)這個方法僅僅是設(shè)置setEncryptionName()和setEncryptionIndex()的默認密碼,卻沒有進行加密操作!!!,就問你坑不坑!!

2 方法找不到

提示沒有setEncryptionName和setEncryptionIndex方法時,請編譯時zip模塊時用以下參數(shù)

--with-libzip

--enable-zip

3 目錄結(jié)構(gòu)問題

待壓縮的文件目錄,比說說是/home/test/a.png

壓縮后,你發(fā)現(xiàn)壓縮包內(nèi)的目錄結(jié)構(gòu)是/home/test/a.png,

也就是說壓縮包原封不動的保持了原來文件的目錄.可是我們想自定義壓縮包目錄怎么辦呢?

$a = '/home/test.png';

$b = '1/test.png';

//$a是待添加的文件路徑 $b是壓縮包內(nèi)的路徑

$zipArc->addFile($a, $b);

參考資料

原文:https://www.cnblogs.com/liuyublog/p/9606104.html

總結(jié)

以上是生活随笔為你收集整理的php压缩包 加密,php加密压缩文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。