导航:首页 > 文件处理 > php在线压缩文件

php在线压缩文件

发布时间:2023-05-20 00:29:43

A. 怎样用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格式的压缩文件

B. php 压缩文件夹

php将文件夹打包成zip文件,参考代码如下:

functionaddFileToZip($path,$zip){
$handler=opendir($path);//打开当前文件夹由$path指定。
while(($filename=readdir($handler))!==false){
if($filename!="."&&$filename!=".."){//文件夹文件名字为'.'和‘..’,不要对他们进行操作
if(is_dir($path."/".$filename)){//如果读取的某个对象是文件夹,则递归
addFileToZip($path."/".$filename,$zip);
}else{//将文件加入zip对象
$zip->addFile($path."/".$filename);
}
}
}
@closedir($path);
}

$zip=newZipArchive();
if($zip->open('images.zip',ZipArchive::OVERWRITE)===TRUE){
addFileToZip('images/',$zip);//调用方法,对要打包的根目录进行操作,并将ZipArchive的对象传递给方法
$zip->close();//关闭处理的zip文件
}

C. php压缩文件并返回压缩文件的名称

使用PHPexcel,你自己到网上搜这个插件吧,将需要的文件解压到Classes目录下,那么把这个目录放在框架thinkphp/extend/vendor/下面,我将自己项目中的部分代码给你看看 在ACTION中设置上传文件并获取文件: import('ORG.Net.UploadFile');

D. PHP在线解压ZIP文件

解压步骤:
第一步、把unzip.php或upzid.php(2选1即可)通过 FTP上传到压缩包所在的文件夹;
第二步、使用“域名/unzip.php或upzid.php?file=压缩文件名称”访问解压,如 www.abc.com/unzip.php?file=name.zip ;

源码适合php环境的zip压缩包在线解压。

注意:解压完成后请务必删除站点目录下的unzip.php和upzid.php文件,以免被其他人利用!

E. PHP 实现文件压缩解压zip格式

在php中,有时我们需要使用到压缩文件操作,压缩文件可以节省磁盘空间;且压缩文件更小,便于网络传输,效率高,下面我们就来了解php的压缩解压相关操作
在PHP中有一个ZipArchive类,专门用于文件的压缩解压相关操作
在ZipArchive类中主要使用到了如下方法:

第一个参数:要打开的压缩包文件
第二个参数:
ZIPARCHIVE::OVERWRITE 总是创建一个新的文件,如果指定的zip文件存在,则会覆盖掉
ZIPARCHIVE::CREATE 如果指定的zip文件不存在,则新建一个
ZIPARCHIVE::EXCL 如果指定的zip文件存在,则会报错
ZIPARCHIVE::CHECKCONS 对指定的zip执行其他一致性测试

上面就是ZipArchive的一些常用方法,下面来一些简单示例

F. 请高手指点: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>';
}
}
}

G. 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);//输出文件;

H. php将pdf文件格式转换成图片,并压缩

有一份pdf文件,需要将其转换成图片, 如果图片过大,同时还需要将其压缩。

1、安装插件

因为不同版本的用法略有区别,我这里用的是2.1版, 最近文档还需要看官方文档。

2、简单使用

3、常用方法

4、其他

1、说明

2、安装

不同版本的使用略有区别,我这用的是2.5版本的

3、简单使用

其中resize,可以指定压缩的宽度和高度,如

如果是指定宽度,智适应高度就是这样

save的三个参数是,

4、更多
更多使用,看 说明文档

压缩图片的时候,报不能读取问题

这个可能是遇到最多的问题。可能原因如下:
1、文件读取权限
查看文件的权限,看是否有读取的权限(r), 没有的话直接把文件改为 777

2、插件不支持该格式文件
输入 php --ri imagick , 在支持列表看是否支持该文件的格式。没有的话,自己网络啦。

3、内存或缓存不够
进入插件的 /vendor/intervention/image/src/Intervention/Image/Imagick/Decoder.php , 在24行断点

可能会得到消息:

然后,在网络下,原来是压缩的文件过大,插件使用的缓存不够,这里直接将配置改大即可

将配置文件改成如下

阅读全文

与php在线压缩文件相关的资料

热点内容
程序员小清新 浏览:989
编译器地址8字节对齐 浏览:464
三菱plc编程win1064 浏览:258
高中英语单词pdf 浏览:425
编译原理词法分析常见问题 浏览:197
车小艺app怎么更新 浏览:77
手机app被管控如何移除 浏览:753
51单片机温湿度检测 浏览:575
安卓抖音显示没网络是怎么回事 浏览:817
2d我的世界源码 浏览:618
怎样制作贴天花板的解压球 浏览:337
服务器如何打开苹果 浏览:96
高响应比算法的实现 浏览:848
windows写命令行 浏览:61
腾讯天津数据中心服务器云空间 浏览:974
单片机扫描按键 浏览:386
如何设置google服务器 浏览:697
linuxtrace工具源码 浏览:180
源码第二次开发 浏览:786
如何获取网页php源码 浏览:729