当前位置:首页 » 编程语言 » phpzip打包

phpzip打包

发布时间: 2022-11-25 18:37:41

⑴ 我有个php程序 想将服务器上文件打成zip压缩包然后进行下载我能需要压缩的文件夹的路径 要怎么写

相对路径./ 当前目录
../上级目录

⑵ 有没有用PHP生成标准ZIP文件的方法

	$filename="./sendfile/".date('YmdHis').".zip";//最终生成的文件名(含路径)
try{
//生成文件
$zip=newZipArchive();//使用本类,linux需开启zlib,windows需取消php_zip.dll前的注释
if($zip->open($filename,ZIPARCHIVE::CREATE)!==TRUE){
exit('无法打开文件,或者文件创建失败');
}

for($i=0;$i<sizeof($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"服务器压缩文件失败!serverzipfilefail".$e->getMessage();
}
//下面是输出下载;
header("Cache-Control:max-age=0");
header("Content-Description:FileTransfer");
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);//删除文件

⑶ thinkphp5 怎么打包指定文件 rar 或者 zip

PHP扩展类 ZipArchive

要使用该PHP扩展类,需要(PHP 5 >= 5.2.0, PECL zip >= 1.1.0),部分方法需要 PHP 5.2.+,且php.ini配置支持zip
对于win系统,直接去掉php_zip.dll 扩展的注释,然后重启http服务(IIS或Apache)即可

使用方法请参照官方文档

⑷ php 的zip rar 组件 是怎么安装的 请高手指点

首先从php的官方网站http://www.php.net/downloads.php 下载windows版本的,有两种版本:PHP 5.3.6 zip package和PHP 5.3.6 installer,目前最新版本就是5.3.6,pharmar使用的是5.3.6版本。PHP 5.3.6installer为自动安装方式,虽然比较自动化,但在很多方面受到限制,因此pharmar不推荐使用这种方式,下面介绍PHP 5.3.6zip package压缩包方式下的手动安装。

1)、将PHP的压缩包zip解压到一个目录下,推荐:“C:/PHP”,pharmar的是D:\Program Files\Php。
2)、将PHP目录(D:\Program Files\Php)下的 php.ini-dist 文件重命名为 php.ini,PHP的配置文件就是它,修改以下几个地方,修改好后把 php.ini 文件复制到 C:\WINDOWS\ 目录里:
extension_dir="D:\Program Files\Php\ext" ,指向php文件夹下放置“php_*.dll”文件的路径。PHP4和PHP5的路径在这里有所区别。
doc_root="D:\PHP" ,指向前面apache设置的首页位置;
default_charset="gb2312" ,修改默认字符集,这里,如果前面有分号“;”,去掉这个分号;
register_globals=Off 改为 register_globals=On ,使传递全局变量有效;
extension=php_dba.dll 如果前面有分号,取消分号,以下同;
extension=php_dbase.dll
extension=php_gd2.dll GD库做图,一般用于图形验证码;
extension=php_mysql.dll 用于连接MYSQL数据库
3)、将PHP目录下的 php5ts.dll 文件拷贝到 C:\WINDOWS\system32 目录。
4)、最后修改 Apache 的 httpd.conf 文件。在该文件的末尾添加如下2行,表示以模块方式安装PHP进入Apache:
LoadMole php5_mole D:/Program Files/Php/php5apache2_2.dll
AddType application/x-httpd-php .php

⑸ 怎样用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写一个表单上传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-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,并弹出下载

既然你只是想学习如何打包.


那我重点就回答你这一块,正好我刚刚用到;

$filename="./".date('YmdH').".zip";//最终生成的文件名(含路径)
//生成文件
$zip=newZipArchive();//使用本类,linux需开启zlib,windows需取消php_zip.dll前的注释
if($zip->open($filename,ZIPARCHIVE::CREATE)!==TRUE){
exit('无法打开文件,或者文件创建失败');
}

//$fileNameArr就是一个存储文件路径的数组比如array('/a/1.jpg,/a/2.jpg....');

foreach($fileNameArras$val){
$zip->addFile($val,basename($val));//第二个参数是放在压缩包中的文件名称,如果文件可能会有重复,就需要注意一下
}
$zip->close();//关闭

//下面是输出下载;
header("Cache-Control:max-age=0");
header("Content-Description:FileTransfer");
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);//输出文件;

⑼ 如何安装 php 的zip模块

zip 是php的一个扩展,用于支持zip文件压缩和解压
按照下面的步骤配置:
1. 用记事本编辑你的 php.ini 文件,搜索 zip.dll 然后把这一行前面的 ; (分号)去掉,保存 php.ini 注意,这一行的上面应该有很多诸如 ;php_***.dll 的,否则搜索的位置不正确,再次搜索
2. 重新启动你的 WEB 服务器。IIS直接在 开始 运行 里面输入 iisreset, Apache 通过管理器先停止再启动即可

⑽ 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,

热点内容
编程好软件 发布:2025-01-16 20:38:07 浏览:423
流量密码如何改成 发布:2025-01-16 20:37:13 浏览:50
java判断是否是对象 发布:2025-01-16 20:31:04 浏览:885
python调用外部程序 发布:2025-01-16 20:14:09 浏览:397
缓解压力英语作文 发布:2025-01-16 20:13:31 浏览:65
javaname 发布:2025-01-16 20:13:15 浏览:22
用户访问表空间 发布:2025-01-16 20:07:07 浏览:943
java代码自动编译 发布:2025-01-16 19:58:14 浏览:314
编程很困难 发布:2025-01-16 19:58:09 浏览:674
gg登录源码 发布:2025-01-16 19:58:07 浏览:293