您的位置:

php读取压缩文件,php文件解压

本文目录一览:

php 读取zip包的大小?

function get_zip_originalsize($filename) {    

$size = 0;    

$resource = zip_open($filename);    

while ($dir_resource = zip_read($resource)) {        

$size += zip_entry_filesize($dir_resource);    }    

zip_close($resource);    return $size;}

$size = get_zip_originalsize('file.zip');

echo "original size: $size bytes\n";

请高手指点: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文件

?php

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

if ($zip) {

    while ($zip_entry = zip_read($zip)) {

        echo "Name:               " . zip_entry_name($zip_entry) . "\n";

        echo "Actual Filesize:    " . zip_entry_filesize($zip_entry) . "\n";

        echo "Compressed Size:    " . zip_entry_compressedsize($zip_entry) . "\n";

        echo "Compression Method: " . zip_entry_compressionmethod($zip_entry) . "\n";

        if (zip_entry_open($zip, $zip_entry, "r")) {

            echo "File Contents:\n";

            $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));

            echo "$buf\n";

            zip_entry_close($zip_entry);

        }

        echo "\n";

    }

    zip_close($zip);

}

?

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 压缩文件夹

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

function addFileToZip($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=new ZipArchive();

if($zip-open('images.zip', ZipArchive::OVERWRITE)=== TRUE){

    addFileToZip('images/', $zip); //调用方法,对要打包的根目录进行操作,并将ZipArchive的对象传递给方法

    $zip-close(); //关闭处理的zip文件

}