包含phpzipopen的詞條

本文目錄一覽:

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 13:00
下一篇 2024-12-12 13:00

相關推薦

發表回復

登錄後才能評論