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

再试试,应该可以了吧?

热点内容
启动脚本执行器失败怎么解决 发布:2024-10-12 14:12:32 浏览:583
安卓系统如何设置息屏时间 发布:2024-10-12 14:11:58 浏览:829
配置资源需要什么条件 发布:2024-10-12 14:07:37 浏览:259
java数据库连接的url 发布:2024-10-12 14:03:25 浏览:783
c数据库类型 发布:2024-10-12 13:51:17 浏览:922
qq上传视频大小 发布:2024-10-12 13:38:37 浏览:458
编程中的非0 发布:2024-10-12 13:37:09 浏览:241
如何查询宽带运营商账号密码 发布:2024-10-12 13:34:50 浏览:665
两个服务器分别是什么意思 发布:2024-10-12 13:27:37 浏览:859
我的世界宝可梦服务器电脑和手机可以联机 发布:2024-10-12 13:11:59 浏览:782