本文目錄一覽:
zip密碼 php
用PHP的zip模塊進行壓縮加密.
開始
$zipArc = new \ZipArchive();if ($zipArc-open(‘/home/test.zip’, ZipArchive::CREATE | ZipArchive::OVERWRITE) === true) { //設置密碼 注意此處不是加密,僅僅是設置密碼
if (!$zipArc-setPassword(‘password’)) { throw new RuntimeException(‘Set password failed’);
} //往壓縮包內添加文件
$zipArc-addFile(‘/home/test.png’, ‘1/test.png’); //加密文件 此處文件名及路徑是壓縮包內的
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()的默認密碼。
以前,此功能僅設置用於解壓縮存檔的密碼; 它沒有將非密碼保護的ZipArchive 變成受密碼保護的ZipArchive。
也就是說php7.2之前,setPassword(‘password’)這個方法僅僅是設置setEncryptionName()和setEncryptionIndex()的默認密碼,卻沒有進行加密操作!!!,就問你坑不坑!!
2 方法找不到
提示沒有setEncryptionName和setEncryptionIndex方法時,請編譯時zip模塊時用以下參數
–with-libzip
–enable-zip
3 目錄結構問題
待壓縮的文件目錄,比說說是/home/test/a.png
壓縮後,你發現壓縮包內的目錄結構是/home/test/a.png,
也就是說壓縮包原封不動的保持了原來文件的目錄.可是我們想自定義壓縮包目錄怎麼辦呢?
$a = ‘/home/test.png’;
$b = ‘1/test.png’;//$a是待添加的文件路徑 $b是壓縮包內的路徑$zipArc-addFile($a, $b);
php 讀取zip包的大小?
function get_zip_originalsize($filename) {
$size = 0;
$resource = zip_open($filename);
while ($dir_resource = zip_read($resource)) {
$size += zip_entry_filesize($dir_resource); }
zip_close($resource); return $size;}
$size = get_zip_originalsize(‘file.zip’);
echo “original size: $size bytes\n”;
php 壓縮文件夾
php將文件夾打包成zip文件,參考代碼如下:
function addFileToZip($path,$zip){
$handler=opendir($path); //打開當前文件夾由$path指定。
while(($filename=readdir($handler))!==false){
if($filename != “.” $filename != “..”){//文件夾文件名字為’.’和‘..’,不要對他們進行操作
if(is_dir($path.”/”.$filename)){// 如果讀取的某個對象是文件夾,則遞歸
addFileToZip($path.”/”.$filename, $zip);
}else{ //將文件加入zip對象
$zip-addFile($path.”/”.$filename);
}
}
}
@closedir($path);
}
$zip=new ZipArchive();
if($zip-open(‘images.zip’, ZipArchive::OVERWRITE)=== TRUE){
addFileToZip(‘images/’, $zip); //調用方法,對要打包的根目錄進行操作,並將ZipArchive的對象傳遞給方法
$zip-close(); //關閉處理的zip文件
}
有沒有用PHP生成標準ZIP文件的方法
$filename = “./sendfile/” . date ( ‘YmdHis’ ) . “.zip”; // 最終生成的文件名(含路徑)
try {
// 生成文件
$zip = new ZipArchive (); // 使用本類,linux需開啟zlib,windows需取消php_zip.dll前的注釋
if ($zip-open ( $filename, ZIPARCHIVE::CREATE ) !== TRUE) {
exit ( ‘無法打開文件,或者文件創建失敗’ );
}
for ($i=0;$isizeof($file_arr); $i++){
$zip-addFile ($file_arr[$i][‘guidFilePath’], iconv(“utf-8″,”gbk”,$file_arr[$i][“realFileName”]));
}
$zip-close ();
} catch(Exception $e){
header(“Content-Type: text/html; charset=utf-8”);
echo “服務器壓縮文件失敗! server zip file fail “. $e-getMessage();
}
//下面是輸出下載;
header ( “Cache-Control: max-age=0” );
header ( “Content-Description: File Transfer” );
header ( ‘Content-disposition: attachment; filename=’ . basename ( $filename ) ); // 文件名
header ( “Content-Type: application/zip” ); // zip格式的
header ( “Content-Transfer-Encoding: binary” ); // 告訴瀏覽器,這是二進制文件
header ( ‘Content-Length: ‘ . filesize ( $filename ) ); // 告訴瀏覽器,文件大小
@readfile ( $filename );//輸出文件;
unlink($filename); //刪除文件
php如何生成自解壓文件?
php ZipArchive 能否在指定目錄生成壓縮包
初步接觸ZipArchive , 目前發現 ZipArchive類生成的zip壓縮包是存儲在 ppublic function backupfiles(){ $filename = “backups/”. time().”.zip”; $zip = new \ZipArchive(); $zip-open($filename,\ZipArchive::CREATE); $path = ‘demo’;//指定的目錄 $this-addFileToZip($path, $zip); } public function addFileT
如何用PHP創建一個加密的zip壓縮文件
/* creates a compressed zip file */function create_zip($files = array(),$destination = ”,$overwrite = false) { //if the zip file already exists and overwrite is false, return false if(file_exists($destination) 。
PHP-php生成zip壓縮文件如何給該文件加解壓縮密碼
php如何壓縮一個文件夾裡面所有的文件到zip文件裡面?
//函數:文件壓縮//壓縮參數:需要壓縮的文件或文件夾(文件可為數組),壓縮後的zip文件名及存放路徑,壓縮類型1:文件夾2:文件,後續操作1:壓縮後下載;2:存放在服務器上(默認為/@Upload下)//壓縮文件夾示例:Tozip(“./”,”../”.date(“d-H-i-s”).”.zip”,1
如何在PHP中創建壓縮的RAR文件
$filename = “./” . date ( ‘YmdH’ ) . “.zip”; // 最終生成的文件名(含路徑) // 生成文件 $zip = new ZipArchive (); // 使用本類,linux需開啟zlib,windows需取消php_zip.dll前的注釋 if ($zip-open ( $filename, ZIPARCHIVE::CREATE ) 。
看你的內存是多大了,只要你的虛擬內存和物理內存夠大。
怎樣用php壓縮解壓rar,zip文件?
要用PHP壓縮解壓文件,常用的方法是調用命令行去執行解壓縮操作 可以用exec() 、system()等函數調用shell命令 Linux下解壓縮命令是tar [-cxtzjvfpPN] 文件與目錄,tar命令可以壓縮解壓.tar、.gz、.tar.gz、.tgz、.bz
請高手指點:PHP 如何解壓縮zip格式壓縮的文件或壓zip格式壓縮了幾個文件,或壓縮了一個文件夾,文件夾里有多個文件, 現/** * PHP在線壓縮/解壓實例 */ date_default_timezone_set(‘prc’); $zip = new engine_compress_decompress(); if (isset($_POST)) { $sourcePath = ”; //默認位置 if (isset($_FILES[‘upfile’])) //上傳文件 { $stmp = $zip-fileUpload(‘upf
以上就是CSS布局HTML為大家整理的php生成zip壓縮文件的方法詳解 技術分享內容,如果覺得小編的資源對您有幫助 不要忘記分享給您身邊的朋友哦!
PHP讀取zip文件的方法示例
本文實例講述了PHP讀取zip文件的方法。分享給大家供大家參考,具體如下:
?php
$zip
=
zip_open(“111.zip”);
if
($zip)
{
while
($zip_entry
=
zip_read($zip))
{
echo
“Name:
“
.
zip_entry_name($zip_entry)
.
“n”;
echo
“Actual
Filesize:
“
.
zip_entry_filesize($zip_entry)
.
“n”;
echo
“Compressed
Size:
“
.
zip_entry_compressedsize($zip_entry)
.
“n”;
echo
“Compression
Method:
“
.
zip_entry_compressionmethod($zip_entry)
.
“n”;
if
(zip_entry_open($zip,
$zip_entry,
“r”))
{
echo
“File
Contents:n”;
$buf
=
zip_entry_read($zip_entry,
zip_entry_filesize($zip_entry));
echo
“$buf\n”;
zip_entry_close($zip_entry);
}
echo
“n”;
}
zip_close($zip);
}
?
運行效果截圖如下:
更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP操作zip文件及壓縮技巧總結》、《php文件操作總結》、《php正則表達式用法總結》、《PHP運算與運算符用法總結》、《PHP基本語法入門教程》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/244033.html