
正文
php到前端数据压缩 php代码压缩
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
如何用PHP实现页面的GZIP压缩输出
第一步,你需要对php的设置如下:
php.ini: output_buffering = Off output_handler = ob_gzhandler zlib.output_compression = Off zlib.output_compression_level = -1
第二步,你需要在apache下增加如下设置:
AddOutputFilter DEFLATE html php js css
这样就可以对html php js css进行gzip压缩了。
第三步,你需要使用如下php压缩html并输出到客户端的函数:
function compress_html($string) { return ltrim(rtrim(preg_replace(array("/ *([^ ]*) */","//","'/\*[^*]*\*/'","/\r\n/","/\n/","/\t/",'/[ ]+/'), array("\\1",'','','','','',''),$string))); }
上面的这个正则表达式,很强大的哦,经过我本人亲自测试可使用。
通过以上方法,你就可以将你的html代码压缩然后输出给客户端了。不信你可以查看源代码,就是一行,网页瞬间压缩很小。
相关问答
Q1: PHP 实现文件压缩解压zip格式
在php中,有时我们需要使用到压缩文件操作,压缩文件可以节省磁盘空间;且压缩文件更小,便于网络传输,效率高,下面我们就来了解php的压缩解压相关操作
在PHP中有一个ZipArchive类,专门用于文件的压缩解压相关操作
在ZipArchive类中主要使用到了如下方法:
第一个参数:要打开的压缩包文件
第二个参数:
ZIPARCHIVE::OVERWRITE 总是创建一个新的文件,如果指定的zip文件存在,则会覆盖掉
ZIPARCHIVE::CREATE 如果指定的zip文件不存在,则新建一个
ZIPARCHIVE::EXCL 如果指定的zip文件存在,则会报错
ZIPARCHIVE::CHECKCONS 对指定的zip执行其他一致性测试
上面就是ZipArchive的一些常用方法,下面来一些简单示例
Q2: php如何压缩css js
最简单的:写个php用正则表达式把css、js里面的空格删掉,现成的有:php JSMin
复杂点的:PHP有GZip模块,可以把服务器端的资源压缩后发送到客户端再解压,网上教程很多,自行百度
再高端点的:YUI Compressor之类的牛人团队开发的玩意
实际上日流量没有十来万以上的网站,弄这些玩意根本没意义。
Q3: php 怎么压缩图片后 在发给前端
?php
/*
----------------------------------------------------------------------
函数:调整图片尺寸或生成缩略图
返回:True/False
参数:
$Image 需要调整php到前端数据压缩的图片(含路径)
$Dw=450 调整时最大宽度;缩略图时php到前端数据压缩的绝对宽度
$Dh=450 调整时最大高度;缩略图时php到前端数据压缩的绝对高度
$Type=1 1,调整尺寸; 2,生成缩略图
$path='img/';//路径
$phtypes=array(
'img/gif',
'img/jpg',
'img/jpeg',
'img/bmp',
'img/pjpeg',
'img/x-png'
);
Function Img($Image,$Dw=450,$Dh=450,$Type=1){
IF(!File_Exists($Image)){
Return False;
}
//如果需要生成缩略图,则将原图拷贝一下重新给$Image赋值
IF($Type!=1){
Copy($Image,Str_Replace(".","_x.",$Image));
$Image=Str_Replace(".","_x.",$Image);
}
//取得文件的类型,根据不同的类型建立不同的对象
$ImgInfo=GetImageSize($Image);
Switch($ImgInfo[2]){
Case 1:
$Img = @ImageCreateFromGIF($Image);
Break;
Case 2:
$Img = @ImageCreateFromJPEG($Image);
Break;
Case 3:
$Img = @ImageCreateFromPNG($Image);
Break;
}
//如果对象没有创建成功,则说明非图片文件
IF(Empty($Img)){
//如果是生成缩略图的时候出错,则需要删掉已经复制的文件
IF($Type!=1){Unlink($Image);}
Return False;
}
//如果是执行调整尺寸操作则
IF($Type==1){
$w=ImagesX($Img);
$h=ImagesY($Img);
$width = $w;
$height = $h;
IF($width$Dw){
$Par=$Dw/$width;
$width=$Dw;
$height=$height*$Par;
IF($height$Dh){
$Par=$Dh/$height;
$height=$Dh;
$width=$width*$Par;
}
}ElseIF($height$Dh){
$Par=$Dh/$height;
$height=$Dh;
$width=$width*$Par;
IF($width$Dw){
$Par=$Dw/$width;
$width=$Dw;
$height=$height*$Par;
}
}Else{
$width=$width;
$height=$height;
}
$nImg = ImageCreateTrueColor($width,$height); //新建一个真彩色画布
ImageCopyReSampled($nImg,$Img,0,0,0,0,$width,$height,$w,$h);//重采样拷贝部分图像并调整大小
ImageJpeg ($nImg,$Image); //以JPEG格式将图像输出到浏览器或文件
Return True;
//如果是执行生成缩略图操作则
}Else{
$w=ImagesX($Img);
$h=ImagesY($Img);
$width = $w;
$height = $h;
$nImg = ImageCreateTrueColor($Dw,$Dh);
IF($h/$w$Dh/$Dw){ //高比较大
$width=$Dw;
$height=$h*$Dw/$w;
$IntNH=$height-$Dh;
ImageCopyReSampled($nImg, $Img, 0, -$IntNH/1.8, 0, 0, $Dw, $height, $w, $h);
}Else{ //宽比较大
$height=$Dh;
$width=$w*$Dh/$h;
$IntNW=$width-$Dw;
ImageCopyReSampled($nImg, $Img, -$IntNW/1.8, 0, 0, 0, $width, $Dh, $w, $h);
}
ImageJpeg ($nImg,$Image);
Return True;
}
}
?
htmlbody
form method="post" enctype="multipart/form-data" name="form1"
table
trtd上传图片/td/tr
trtdinput type="file" name="photo" size="20" //td/tr
trtdinput type="submit" value="上传"//td/tr
/table
允许上传的文件类型为:?=implode(', ',$phtypes)?/form
?php
if($_SERVER['REQUEST_METHOD']=='POST'){
if (!is_uploaded_file($_FILES["photo"][tmp_name])){
echo "图片不存在";
exit();
}
if(!is_dir('img')){//路径若不存在则创建
mkdir('img');
}
$upfile=$_FILES["photo"];
$pinfo=pathinfo($upfile["name"]);
$name=$pinfo['basename'];//文件名
$tmp_name=$upfile["tmp_name"];
$file_type=$pinfo['extension'];//获得文件类型
$showphpath=$path.$name;
if(in_array($upfile["type"],$phtypes)){
echo "文件类型不符php到前端数据压缩!";
exit();
}
if(move_uploaded_file($tmp_name,$path.$name)){
echo "成功php到前端数据压缩!";
Img($showphpath,100,800,2);
}
echo "img src=\"".$showphpath."\" /";
}
?
/body
/html
php到前端数据压缩的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php代码压缩、php到前端数据压缩的信息别忘了在本站进行查找喔。







