Code前端首页关于Code前端联系我们

不知道php有没有对字节的压缩,PHP压缩

terry 2年前 (2023-09-30) 阅读数 28 #PHP
文章标签 PHP microtime

本文目录一览:

  • 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前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门