当前位置:首页 » 文件管理 » 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");

再试试,应该可以了吧?

热点内容
mu2需要什么配置 发布:2025-05-16 03:59:05 浏览:404
怎么设置电脑开机密码和屏幕锁 发布:2025-05-16 03:07:05 浏览:55
华为锁屏密码忘记了怎么解锁 发布:2025-05-16 03:06:26 浏览:474
安卓文字为什么没有苹果舒服 发布:2025-05-16 03:01:26 浏览:357
phpnow解压版 发布:2025-05-16 02:52:49 浏览:811
dmporacle数据库 发布:2025-05-16 02:44:31 浏览:831
云主机上传 发布:2025-05-16 02:44:30 浏览:82
鼠标如何编程 发布:2025-05-16 02:29:09 浏览:816
安卓70能用什么软件 发布:2025-05-16 01:45:09 浏览:481
编程发展史 发布:2025-05-16 01:38:52 浏览:529