不知道php有没有对字节的压缩,PHP压缩
本文目录一览:
- 1、采用nginx+php,nginx中静态文件没有进行gzip压缩
- 2、php 怎么对url的参数串进行压缩和解压缩
- 3、php如何压缩一个文件夹里面所有的文件到zip文件里面?
- 4、使用php判断网页是否gzip压缩
- 5、php怎么对接收的图片进行压缩'
- 6、php处理字节流
采用nginx+php,nginx中静态文件没有进行gzip压缩
用nginx+php集成包phpfind或phpstudy。纯中文绿色解压即可,你试试吧,超级简单自动配好nginx+php环境
php 怎么对url的参数串进行压缩和解压缩
如果参数名和值全部是已知的,那么做一个映射表就可以了。
如果参数的值涉及用户提交的内容,对于过长的内容,最好使用POST,并开启Gzip压缩。
关于URL的长度:
1,普通用户很少通过修改url来实现跳转
2,太短的参数名称就很难理解含义,比如content如果缩短成c,你知道这代表什么意思么?
3,如果说为了便于保存和分享,那么可以考虑short url的处理方式
4,url的长度对性能的影响微乎其微,除非是超长文本,那就是程序设计的问题了
5,如果说刻意追求极短的url,还要进行压缩和解压缩步骤,真的有点画蛇添足了
php如何压缩一个文件夹里面所有的文件到zip文件里面?
//函数:文件压缩
//压缩参数:需要压缩的文件或文件夹(文件可为数组),压缩后的zip文件名及存放路径,压缩类型1:文件夹2:文件,后续操作1:压缩后下载;2:存放在服务器上(默认为/@Upload下)
//压缩文件夹示例:Tozip("./","../".date("d-H-i-s").".zip",1,2);
//压缩文件示例:
// $aaa=array("../1.txt","../2.txt");
// Tozip($aaa,"../2.zip",2);FunctionTozip($Path,
$ZipFile,
$Typ=1,
$Todo=1){//IF(!is_writeable($Path)){Exit("文件夹不可写!");}$Path=Str_iReplace("\\","/",($Path));IF(Is_Null($Path) OrEmpty($Path) Or!IsSet($Path)){ReturnFalse;}IF(Is_Null($ZipFile) OrEmpty($ZipFile) Or!IsSet($ZipFile)){ReturnFalse;}
Include_once("inc/Class_Zip.php");$zip=NewPHPZip;IF(SubStr($Path,-1,1)=="/"){$Path=SubStr($Path,0,
StrLen($Path)-1);}
OB_end_clean();Switch($Typ){Case"1":$zip-ZipDir($Path,
$ZipFile,
$Todo);Break;Case"2":$zip-ZipFile($Path,
使用php判断网页是否gzip压缩
昨天晚上群里有朋友采集网页时发现file_get_contents
获得的网页保存到本地为乱码,响应的header
里
Content-Encoding:gzip
但在浏览器里看是正常的。
因为我有过相关经验马上发现是网站开启了gzip而file_get_contents
获得的是压缩过的页面,而不是解压过的页面(不知道是不是要file_get_conttents
请求网页时带上相应的参数,直接获得没有被gzip压缩过的网页?)
刚好我前不久刚看到可以用读取文件的前2个字节判断文件类型。群里面的朋友也说gzip压缩过的网页(gbk编码)前2字节是
1F
8B
于是就可以判断网页是否gzip压缩过。
代码如下:
复制代码
代码如下:
//米尔军事网采用
gzip压缩网页
//file_get_contents
直接获得的网页是乱码。
header('Content-Type:text/html;charset=utf-8'
);
$url
=
'';
$file
=
fopen($url,
"rb");
//只读2字节
如果为(16进制)1f
8b
(10进制)31
139则开启了gzip
;
$bin
=
fread($file,
2);
fclose($file);
$strInfo
=
@unpack("C2chars",
$bin);
$typeCode
=
intval($strInfo['chars1'].$strInfo['chars2']);
$isGzip
=
0;
switch
($typeCode)
{
case
31139:
//网站开启了gzip
$isGzip
=
1;
break;
default:
$isGzip
=
0;
}
$url
=
$isGzip
?
"compress.zlib://".$url:$url;
//
三元表达式
$mierHtml
=
file_get_contents($url);
//获得米尔军事网数据
$mierHtml
=
iconv("gbk","utf-8",$mierHtml);
echo
$mierHtml;
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。