当前位置:首页 » 编程语言 » phpgzcompress

phpgzcompress

发布时间: 2022-02-25 18:23:38

A. linux 下用php的gzuncompress()函数 报错。未定义,怎么玩

Call to undefined function gzuncompress()调用未定义的方法。它认为你调用的不是函数而是一个方法。

B. php 使用 gzcompress( )压缩以后 服务器的c 语言uncompress()不能解压,该怎么处理呀

不懂C语言,不过gzcompress()是压缩字符串的。uncompress是解压缩文件的,不可能解压的了的吧

C. php中gzdeflate()与gzcompress()的区别

两个都可以压缩,算法不一样,表现出来的差别是浏览器支持不相同,有的浏览器只识别gzdeflate压缩的页面,有的浏览器只认识gzcompress压缩的页面,有的浏览器都认识。

D. PHP gzip 压缩后和 java deflate 数据不一致的问题

gzinflate 是解压 gzdeflate 数据的啊,现在是想压缩后和 java deflate 压缩的数据一致。又看了下资料,java Deflater(int level,boolean nowrap) 压缩,如果参数 'nowrap' 为 true,则不使用 ZLIB 头和校验和字段,默认好像是 false。而采用 PHP gzencode ($data , -1, FORCE_DEFLATE ) 进行压缩,只是带了zlib headers 信息,没有带 crc32 checksum,可能问题就在这儿,但是还不知道怎么解决,还请好心的版主给点建议!

E. java端用GZIPOutputStream压缩的数据,通过HTTP POST到PHP写的后台,怎么不能解压

GZIPOutputStream和PHP的gzuncompress配合得不好,似乎是Java产生的数据头在PHP那边认不出来。用DeflaterOutputStream来取代GZIPOutputStream。

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

G. php怎样实现对zip文件的加密和解密

使用PHPZip类就可以解决的。以下是网上找到的例子。

$zipfiles=array("/root/pooy/test1.txt","/root/pooy/test2.txt");
$z=newPHPZip();
//$randomstr=random(8);
$zipfile=TEMP."/photocome_".$groupid.".zip";
$z->Zip($zipfiles,$zipfile);
<?php
#
#PHPZipv1.2bySext([email protected])2002-11-18
#(Changed:2003-03-01)
#
#Makesziparchive
#
#Basedon"Zipfilecreationclass",useszLib
#
#
classPHPZip
{
functionZip($dir,$zipfilename)
{
if(@function_exists('gzcompress'))
{
$curdir=getcwd();
if(is_array($dir))
{
$filelist=$dir;
}
else
{
$filelist=$this->GetFileList($dir);
}
if((!empty($dir))&&(!is_array($dir))&&(file_exists($dir)))chdir($dir);
elsechdir($curdir);
if(count($filelist)>0)
{
foreach($filelistas$filename)
{
if(is_file($filename))
{
$fd=fopen($filename,"r");
$content=fread($fd,filesize($filename));
fclose($fd);
if(is_array($dir))$filename=basename($filename);
$this->addFile($content,$filename);
}
}
$out=$this->file();
chdir($curdir);
$fp=fopen($zipfilename,"w");
fwrite($fp,$out,strlen($out));
fclose($fp);
}
return1;
}
elsereturn0;
}
functionGetFileList($dir)
{
if(file_exists($dir))
{
$args=func_get_args();
$pref=$args[1];
$dh=opendir($dir);
while($files=readdir($dh))
{
if(($files!=".")&&($files!=".."))
{
if(is_dir($dir.$files))
{
$curdir=getcwd();
chdir($dir.$files);
$file=array_merge($file,$this->GetFileList("","$pref$files/"));
chdir($curdir);
}
else$file[]=$pref.$files;
}
}
closedir($dh);
}
return$file;
}
var$datasec=array();
var$ctrl_dir=array();
var$eof_ctrl_dir="x50x4bx05x06x00x00x00x00";
var$old_offset=0;
/**
*(date
*inhightwobytes,).
*
*@
*
*@
*
*@accessprivate
*/
functionunix2DosTime($unixtime=0){
$timearray=($unixtime==0)?getdate():getdate($unixtime);
if($timearray['year']<1980){
$timearray['year']=1980;
$timearray['mon']=1;
$timearray['mday']=1;
$timearray['hours']=0;
$timearray['minutes']=0;
$timearray['seconds']=0;
}//endif
return(($timearray['year']-1980)<<25)|($timearray['mon']<<21)|($timearray['mday']<<16)|
($timearray['hours']<<11)|($timearray['minutes']<<5)|($timearray['seconds']>>1);
}//endofthe'unix2DosTime()'method
/**
*Adds"file"toarchive
*
*@paramstringfilecontents
*@(maycontainsthepath)
*@
*
*@accesspublic
*/
functionaddFile($data,$name,$time=0)
{
$name=str_replace('','/',$name);
$dtime=dechex($this->unix2DosTime($time));
$hexdtime='x'.$dtime[6].$dtime[7]
.'x'.$dtime[4].$dtime[5]
.'x'.$dtime[2].$dtime[3]
.'x'.$dtime[0].$dtime[1];
eval('$hexdtime="'.$hexdtime.'";');
$fr="x50x4bx03x04";
$fr.="x14x00";//verneededtoextract
$fr.="x00x00";//genpurposebitflag
$fr.="x08x00";//compressionmethod
$fr.=$hexdtime;//lastmodtimeanddate
//"localfileheader"segment
$unc_len=strlen($data);
$crc=crc32($data);
$zdata=gzcompress($data);
$c_len=strlen($zdata);
$zdata=substr(substr($zdata,0,strlen($zdata)-4),2);//fixcrcbug
$fr.=pack('V',$crc);//crc32
$fr.=pack('V',$c_len);//compressedfilesize
$fr.=pack('V',$unc_len);//uncompressedfilesize
$fr.=pack('v',strlen($name));//lengthoffilename
$fr.=pack('v',0);//extrafieldlength
$fr.=$name;
//"filedata"segment
$fr.=$zdata;
//"datadescriptor"segment(
//servedasfile)
$fr.=pack('V',$crc);//crc32
$fr.=pack('V',$c_len);//compressedfilesize
$fr.=pack('V',$unc_len);//uncompressedfilesize
//addthisentrytoarray
$this->datasec[]=$fr;
$new_offset=strlen(implode('',$this->datasec));
//
$cdrec="x50x4bx01x02";
$cdrec.="x00x00";//versionmadeby
$cdrec.="x14x00";//versionneededtoextract
$cdrec.="x00x00";//genpurposebitflag
$cdrec.="x08x00";//compressionmethod
$cdrec.=$hexdtime;//lastmodtime&date
$cdrec.=pack('V',$crc);//crc32
$cdrec.=pack('V',$c_len);//compressedfilesize
$cdrec.=pack('V',$unc_len);//uncompressedfilesize
$cdrec.=pack('v',strlen($name));//lengthoffilename
$cdrec.=pack('v',0);//extrafieldlength
$cdrec.=pack('v',0);//filecommentlength
$cdrec.=pack('v',0);//disknumberstart
$cdrec.=pack('v',0);//internalfileattributes
$cdrec.=pack('V',32);//externalfileattributes-'archive'bitset
$cdrec.=pack('V',$this->old_offset);//relativeoffsetoflocalheader
$this->old_offset=$new_offset;
$cdrec.=$name;
//optionalextrafield,filecommentgoeshere
//savetocentraldirectory
$this->ctrl_dir[]=$cdrec;
}//endofthe'addFile()'method
/**
*Dumpsoutfile
*
*@returnstringthezippedfile
*
*@accesspublic
*/
functionfile()
{
$data=implode('',$this->datasec);
$ctrldir=implode('',$this->ctrl_dir);
return
$data.
$ctrldir.
$this->eof_ctrl_dir.
pack('v',sizeof($this->ctrl_dir)).//total#ofentries"onthisdisk"
pack('v',sizeof($this->ctrl_dir)).//total#ofentriesoverall
pack('V',strlen($ctrldir)).//sizeofcentraldir
pack('V',strlen($data)).//offsettostartofcentraldir
"x00x00";//.zipfilecommentlength
}//endofthe'file()'method
}//endofthe'PHPZip'class
?>

H. 关于C++压缩 PHP解压

解压前是不是null看一下。或许你没有取出来呢

I. PHP 超长字符串压缩保存到 MYSQL 数据库的问题

gzcompress产生特殊字符没问题,保存时用 addslashes(),我自己的经验是slash并没有真的被保存,取出数据后解压一点问题没有。将二进制的文件保存在数据库就这样。如果实在不放心,压缩后用base64_encode(),会增加1/3的量,但如果文本很长,这或许是可以忍受的。

J. 请问 Linux 下 PHP 如何加载 gzcompress 这个函数

应该可以通过加载模块的方式实现,在网络搜索一下应该就有了

热点内容
java工程师证 发布:2025-01-10 18:54:02 浏览:32
python如何判断密码强度 发布:2025-01-10 18:39:58 浏览:980
安卓怎么快捷关程序 发布:2025-01-10 18:35:48 浏览:922
仔细的算法 发布:2025-01-10 18:28:30 浏览:546
c语言判断是否为回文数 发布:2025-01-10 18:21:31 浏览:783
win7vhd加密 发布:2025-01-10 18:20:35 浏览:420
手机存储空间里的其他怎么清理 发布:2025-01-10 18:19:59 浏览:801
二手的电脑服务器都怎么处理了 发布:2025-01-10 18:19:05 浏览:906
定压补水装置如何配置 发布:2025-01-10 18:12:34 浏览:431
安卓是华为的什么 发布:2025-01-10 18:12:27 浏览:541