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文件

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/249663.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 17:13
下一篇 2024-12-12 17:13

相關推薦

發表回復

登錄後才能評論