當前位置:首頁 » 文件管理 » php解壓zip文件

php解壓zip文件

發布時間: 2022-09-02 18:14:14

① (急)php 解壓文件(unzip)

1、先下載 http://www.canphp.com/upload/canphp1.4.zip
2、裡面有個 canphp\lib\Zip.class.php 文件,僅僅需要這個文件就行了,這是個壓縮與解壓縮的類,在需要的地方,包含這個文件即可使用。
3、使用方法:
(1)壓縮:
$zip=new Zip();
$zip->compress('template.zip','template');//將template目錄的所有文件壓縮到template.zip文件
(2)解壓:
$zip=new Zip();
$zip->decompress('template.zip','template2');//將template.zip壓縮文件,解壓到template2目錄 。
4、兩種方法的返回值請參考Zip.class.php 或 var_mp 返回值
5、實際測試成功,只是返回一些notice。我的代碼如下:
<?php
require_once "zip.class.php";
$zip = new Zip();
$zip->compress('xtw.zip', 'template');
$zip->decompress('xtw.zip', 'template2');
?>

② 請高手指點:PHP 如何解壓縮zip格式壓縮的文件或壓縮文件夾內的文件到指定目錄

/**
* PHP在線壓縮/解壓實例
*/

date_default_timezone_set('prc');

$zip = new engine_compress_decompress();

if (isset($_POST))
{
$sourcePath = ''; //默認位置

if (isset($_FILES['upfile'])) //上傳文件
{
$stmp = $zip->fileUpload('upfile');
$sourcePath = $stmp['sourcefile'];
$upfileError = $stmp['error'];
}
elseif (isset($_POST['inputfile'])) //輸入目錄或者文件
{
$sourcePath = $_POST['inputfile'];
}
elseif (isset($_POST['decompresssourcefiles'])) //解壓縮提交
{
$isDecompress = $zip->decompress($_POST['decompresssourcefiles'], $_POST['topath']);
if (!empty($isDecompress['filelist']))
{
$href = '<script type="text/javascript" language="javascript">window.location.href=\'#decompress\'</script>';
}

}

$fileList = $zip->fileArray($sourcePath); //解壓縮文件列表

if (isset($_POST['compressinputfileorfolder'])) //壓縮文件目錄或者文件輸入
{
$sourcePath = $_POST['compressinputfileorfolder'];
$href = '<script type="text/javascript" language="javascript">window.location.href=\'#compress\'</script>';
$compressFilelist = $zip->compressFileArray($sourcePath); //壓縮文件列表
}
elseif ((isset($_POST['selectcompressfilelist'])) && (isset($_POST['compresssavefilename'])))
{
$compressFiles = $zip->compress($_POST['selectcompressfilelist'], $_POST['compresssavefilename']); //真實檢測
$isCompress = $zip->CompileZipFile($compressFiles, $zip->savePath, 'all');
if (!empty($isCompress))
{
$href = '<script type="text/javascript" language="javascript">window.location.href=\'#compress\'</script>';
}
}
}

③ PHP下載zip文件到本地並解壓

下載用socket,或者開了allow_url_fopen 直接用file
解壓zip用自帶的zip庫即可

之前寫過的一個php的離線下載 http://www.ifuns.cn/_test/download.html
zip解壓看手冊,就那幾個函數

④ PHP怎麼解壓ZIP文件

?php

$zip=zip_open("/tmp/test2.zip");

if($zip){

while($zip_entry=zip_read($zip)){
echo"Name:".zip_entry_name($zip_entry)." ";
echo"ActualFilesize:".zip_entry_filesize($zip_entry)." ";
echo"CompressedSize:".zip_entry_compressedsize($zip_entry)." ";
echo"CompressionMethod:".zip_entry_compressionmethod($zip_entry)." ";

if(zip_entry_open($zip,$zip_entry,"r")){
echo"FileContents: ";
$buf=zip_entry_read($zip_entry,zip_entry_filesize($zip_entry));
echo"$buf ";

zip_entry_close($zip_entry);
}
echo" ";

}

zip_close($zip);

}

?>

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

<?php
//需開啟配置php_zip.dll
//phpinfo();
header("Content-type:text/html;charset=utf-8");
functionget_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解壓遇到問題,文件夾解壓報錯!

這個解壓出錯的可能性有很多,最大的可能性是你下載文件時損壞了,這樣損壞的文件肯定是解壓不了的哦。
具體來說說吧
第一種可能:下載文件不全或下載時出錯造成的,這樣無法解壓,可以重新再下載一次,最常見的。
第二種可能:別人上傳的時候就出現了錯誤,你下載到本地自然會出錯,這樣的只能再找源文件了。
第三種可能:你的解壓軟體出現了問題,可以重新換一個解壓軟體再進行解壓。
第四種可能:電腦系統出現問題了,把文件復制到其它電腦上,然後再解壓。

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

<?php
if($_FILES["file"]["error"]>0){
echo"<script>console.log('ReturnCode:".$_FILES["file"]["error"]."');</script>";
}
else{
if(!file_exists("upload/".$_FILES["file"]["name"])){
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/".$_FILES["file"]["name"]);
echo"Storedin:"."upload/".$_FILES["file"]["name"];
system('zip解壓縮命令');
}
else{
system('zip解壓縮命令');
}
}
?>

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

⑧ PHP解壓ZIP問題

看這第6行代碼(如下):

$fp=fopen(zip_entry_name($zip_entry),"w");

其中:

zip_entry_name($zip_entry)

表示的是壓縮文件中的文件名。

所以要保存到指定目錄應該改為:

$dir='zip-files/';//要保存的目錄(相對於此PHP文件)
$fp=fopen($dir.zip_entry_name($zip_entry),"w");

再試試,應該可以了吧?

熱點內容
luxu776ftp下載 發布:2024-10-12 16:21:32 瀏覽:766
電腦上怎樣壓縮文件 發布:2024-10-12 16:12:36 瀏覽:555
iphone壓縮包怎麼解壓 發布:2024-10-12 16:11:59 瀏覽:105
刀心點編程 發布:2024-10-12 16:06:29 瀏覽:536
阿里雲伺服器反應慢 發布:2024-10-12 16:03:22 瀏覽:627
丙烯的存儲 發布:2024-10-12 15:32:46 瀏覽:36
plc編程入門視頻教程 發布:2024-10-12 15:23:23 瀏覽:164
總是在新窗口打開文件夾 發布:2024-10-12 15:16:28 瀏覽:66
怎麼連接加密wifi 發布:2024-10-12 15:10:10 瀏覽:774
為什麼安卓手機游戲體驗比蘋果好 發布:2024-10-12 14:53:10 瀏覽:880