phpzip壓縮,php生成zip壓縮包

本文目錄一覽:

php如何壓縮一個文件夾裡面所有的文件到zip文件裡面?

//函數:文件壓縮//壓縮參數:需要壓縮的文件或文件夾(文件可為數組),壓縮後的zip文件名及存放路徑,壓縮類型1:文件夾2:文件,後續操作1:壓縮後下載;2:存放在伺服器上(默認為/@Upload下)//壓縮文件夾示例:Tozip(“./”,”../”.date(“d-H-i-s”).”.zip”,1,2);//壓縮文件示例:// $aaa=array(“../1.txt”,”../2.txt”);// Tozip($aaa,”../2.zip”,2);FunctionTozip($Path,$ZipFile,$Typ=1,$Todo=1){//IF(!is_writeable($Path)){Exit(“文件夾不可寫!”);}$Path=Str_iReplace(“\\”,”/”,($Path));IF(Is_Null($Path) OrEmpty($Path) Or!IsSet($Path)){ReturnFalse;}IF(Is_Null($ZipFile) OrEmpty($ZipFile) Or!IsSet($ZipFile)){ReturnFalse;}Include_once(“inc/Class_Zip.php”);$zip=NewPHPZip;IF(SubStr($Path,-1,1)==”/”){$Path=SubStr($Path,0,StrLen($Path)-1);}OB_end_clean();Switch($Typ){Case”1″:$zip-ZipDir($Path,$ZipFile,$Todo);Break;Case”2″:$zip-ZipFile($Path,

PHP-php生成zip壓縮文件如何給該文件加解壓縮密碼

?php

//需開啟配置 php_zip.dll

//phpinfo();

header(“Content-type:text/html;charset=utf-8”);

function get_zip_originalsize($filename, $path) {

 //先判斷待解壓的文件是否存在

 if(!file_exists($filename)){

  die(“文件 $filename 不存在!”);

 } 

 $starttime = explode(‘ ‘,microtime()); //解壓開始的時間

 //將文件名和路徑轉成windows系統默認的gb2312編碼,否則將會讀取不到

 $filename = iconv(“utf-8″,”gb2312”,$filename);

 $path = iconv(“utf-8″,”gb2312”,$path);

 //打開壓縮包

 $resource = zip_open($filename);

 $i = 1;

 //遍歷讀取壓縮包裡面的一個個文件

 while ($dir_resource = zip_read($resource)) {

  //如果能打開則繼續

  if (zip_entry_open($resource,$dir_resource)) {

   //獲取當前項目的名稱,即壓縮包裡面當前對應的文件名

   $file_name = $path.zip_entry_name($dir_resource);

   //以最後一個「/」分割,再用字元串截取出路徑部分

   $file_path = substr($file_name,0,strrpos($file_name, “/”));

   //如果路徑不存在,則創建一個目錄,true表示可以創建多級目錄

   if(!is_dir($file_path)){

    mkdir($file_path,0777,true);

   }

   //如果不是目錄,則寫入文件

   if(!is_dir($file_name)){

    //讀取這個文件

    $file_size = zip_entry_filesize($dir_resource);

    //最大讀取6M,如果文件過大,跳過解壓,繼續下一個

    if($file_size(1024*1024*6)){

     $file_content = zip_entry_read($dir_resource,$file_size);

     file_put_contents($file_name,$file_content);

    }else{

     echo “p “.$i++.” 此文件已被跳過,原因:文件過大, – “.iconv(“gb2312″,”utf-8″,$file_name).” /p”;

    }

   }

   //關閉當前

   zip_entry_close($dir_resource);

  }

 }

 //關閉壓縮包

 zip_close($resource); 

 $endtime = explode(‘ ‘,microtime()); //解壓結束的時間

 $thistime = $endtime[0]+$endtime[1]-($starttime[0]+$starttime[1]);

 $thistime = round($thistime,3); //保留3為小數

 echo “p解壓完畢!,本次解壓花費:$thistime 秒。/p”;

}

$size = get_zip_originalsize(‘20131101.zip’,’temp/’);

?

如何用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) !$overwrite) { return false; } //vars $valid_files = array(); //if files were passed in… if(is_array($files)) { //cycle through each file foreach($files as $file) { //make sure the file exists if(file_exists($file)) { $valid_files[] = $file; } } } //if we have good files… if(count($valid_files)) { //create the archive $zip = new ZipArchive(); if($zip-open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) { return false; } //add the files foreach($valid_files as $file) { $zip-addFile($file,$file); } //debug //echo ‘The zip archive contains ‘,$zip-numFiles,’ files with a status of ‘,$zip-status; //close the zip — done! $zip-close(); //check to make sure the file exists return file_exists($destination); } else { return false; }}

怎麼用php寫一個表單上傳zip格式的壓縮包並解壓到根目錄的指定目錄中?

?php

  if ($_FILES[“file”][“error”]  0) {

    echo “scriptconsole.log(‘Return Code: ” . $_FILES[“file”][“error”] . “‘);/script”;

    }

  else {

    if (!file_exists(“upload/” . $_FILES[“file”][“name”])){

          move_uploaded_file($_FILES[“file”][“tmp_name”],

          “upload/” . $_FILES[“file”][“name”]);

          echo “Stored in: ” . “upload/” . $_FILES[“file”][“name”];

          system(‘zip解壓縮命令’);

        }

    else{

         system(‘zip解壓縮命令’);   

        }

    }

?

因為php即使拓展了zip庫,也不能夠實現解壓縮,而且拓展zip庫會要更改php.ini,所以推介下載7z的命令行版本,用系統命令解決。╮( ̄▽ ̄””)╭

怎樣用php壓縮解壓rar,zip文件?

要用PHP壓縮解壓文件,常用的方法是調用命令行去執行解壓縮操作

可以用exec()

、system()等函數調用shell命令

Linux下解壓縮命令是tar

[-cxtzjvfpPN]

文件與目錄,tar命令可以壓縮解壓.tar、.gz、.tar.gz、.tgz、.bz2、.tar.bz2、.Z、.tar.Z、.zip這些類型的文件

Linux下默認無法使用rar格式的,要另外安裝RAR

for

Linux,然後使用rar和unrar命令解壓縮rar格式的壓縮文件

php使用pclzip類實現文件壓縮的方法(附pclzip類下載地址)

本文實例講述了php使用pclzip類實現文件壓縮的方法。分享給大家供大家參考,具體如下:

使用PclZIp(zip格式)壓縮,首先需要下載它的包文件(可點擊此處本站下載)。PclZip功能還是蠻強大的,它可以進行壓縮和解壓,以及一些添加和刪除的類的方法等等。當然了這些內容我們都可以在網上查找的到,沒必要都得記住。我們只要在需要使用的時候自己可以很快的在網上找到使用方法就可以了。首先我們需要的就是要將下載的庫文件進行引入,如

?php

include(‘pclzip/pclzip.lib.php’);

?

//括弧裡面的地址改成自己的pclzip.lib.php

文件所在地址,

//它的所有的功能都在pclzip.lib.php裡面

引入之後我們就可以進行使用了,下面是我使用時簡單寫的一個方法。

?php

$zipname

=

“test.zip”;

//壓縮包的名稱

$zipnames

=

‘/zipfiles/’.$zipname;

//壓縮包所在路徑

$z

=

new

PclZip($zipnames);

//實例化這個PclZip類

$v_list

=

$z-create(‘file.txt,data/text.txt,folder’);

//將文件進行壓縮

if

($v_list

==

0)

{

die(“Error

:

“.$archive-errorInfo(true));

//如果有誤,提示錯誤信息。

}

?

這個一個簡單的zip壓縮就做好了,在這個方法中我們主要就是使用了PclZip裡面的PclZip類以及它裡面創建壓縮包的方法create。從上面的例子我們可以看到下面這個內容

?php

PclZip($zip_filename);

?

//裡面是該壓縮包的名稱以及所在路徑。並不是把名稱寫上就可以了。

//如果路徑不對是無法找到的。

?php

PclZip::create($filelist,

[optional

arguments]);

?

//create方法來創建壓縮包。

//$filelist可以用數組包含文件的名稱和文件夾名稱或者是一個字元串來包含.

//如果是多個文件的話可以用逗號來隔開,如上面的例子。

更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP操作zip文件及壓縮技巧總結》、《php文件操作總結》、《php正則表達式用法總結》、《PHP運算與運算符用法總結》、《PHP基本語法入門教程》、《php面向對象程序設計入門教程》、《php字元串(string)用法總結》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/183180.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-24 16:27
下一篇 2024-11-24 16:27

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 用Python解壓縮壓縮包

    本文將從多個方面對用Python解壓縮壓縮包進行詳細闡述,並給出相應的代碼示例。 一、導入必要的庫 使用Python解壓縮壓縮包需要用到ZipFile庫,因此需要先導入該庫。 im…

    編程 2025-04-29
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • Python內置函數zip()的用法

    本文將通過多個方面闡述Python內置函數zip()的用法,包含代碼示例。 一、zip()函數的概念 zip()函數是Python中的一個內置函數,它接受任意數量的可迭代對象作為參…

    編程 2025-04-27
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若伺服器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27
  • PHP與Python的比較

    本文將會對PHP與Python進行比較和對比分析,包括語法特性、優缺點等方面。幫助讀者更好地理解和使用這兩種語言。 一、語法特性 PHP語法特性: <?php // 簡單的P…

    編程 2025-04-27
  • PHP版本管理工具phpenv詳解

    在PHP項目開發過程中,我們可能需要用到不同版本的PHP環境來試驗不同的功能或避免不同版本的兼容性問題。或者我們需要在同一台伺服器上同時運行多個不同版本的PHP語言。但是每次手動安…

    編程 2025-04-24
  • PHP數組去重詳解

    一、array_unique函數 array_unique是php中常用的數組去重函數,它基於值來判斷元素是否重複,具體使用方法如下: $array = array(‘a’, ‘b…

    編程 2025-04-24

發表回復

登錄後才能評論