本文目錄一覽:
- 1、php 讀取zip包的大小?
- 2、請高手指點:PHP 如何解壓縮zip格式壓縮的文件或壓縮文件夾內的文件到指定目錄
- 3、PHP怎麼解壓ZIP文件
- 4、php將pdf文件格式轉換成圖片,並壓縮
- 5、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-hant/n/249663.html