存档

文章标签 ‘压缩’

ubuntu/linux中rar压缩文件使用密码压缩

2016年2月2日 没有评论

ubuntu中使用rar命令压缩文件,且使用密码,如何操作?

使用如下命令:

sudo rar 1.rar 1.txt -p

回车

输入密码,回车

确认密码,回车

搞定。。。。

但是如何使用shell文件来自动完成呢?比如我定期将1.txt压缩成1.rar,且需要附带密码为123.

暂时还没弄好,回头再看。

分类: ubuntu高手 标签: , ,

Android安卓解压Zip包

2015年10月22日 没有评论

/**
* 解压一个压缩文档 到指定位置
*
* @param zipFileString 压缩包的名字
* @param outPathString 指定的路径
* @throws Exception
*/
public static void UnZipFolder(String zipFileString, String outPathString) throws Exception {
java.util.zip.ZipInputStream inZip = new java.util.zip.ZipInputStream(new java.io.FileInputStream(zipFileString));
java.util.zip.ZipEntry zipEntry;
String szName = “”;

while ((zipEntry = inZip.getNextEntry()) != null) {
szName = zipEntry.getName();

if (zipEntry.isDirectory()) {

// get the folder name of the widget
szName = szName.substring(0, szName.length() – 1);
java.io.File folder = new java.io.File(outPathString + java.io.File.separator + szName);
folder.mkdirs();

} else {

java.io.File file = new java.io.File(outPathString + java.io.File.separator + szName);
file.createNewFile();
// get the output stream of the file
java.io.FileOutputStream out = new java.io.FileOutputStream(file);
int len;
byte[] buffer = new byte[1024];
// read (len) bytes into buffer
while ((len = inZip.read(buffer)) != -1) {
// write (len) byte from buffer at the position 0
out.write(buffer, 0, len);
out.flush();
}
out.close();
}
}//end of while

inZip.close();

}//end of func

分类: android 标签: , , ,

php开启gzip压缩正宗3种可使用方法

2015年3月14日 没有评论

今天特别把php开启gzip压缩的三种不同的方法详细的整理并在这里介绍一下,php开启gzip压缩之后,效率会高出很多,但是同时也会增加服务器的承载,当然开启gzip是值得的

3种方案

第一:使用apache2中的mod_deflate.so
1,打开apache中的mod_deflate.so
2,php.ini:output_buffering = Off
3,php.ini为;output_handler = ob_gzhandler
zlib.output_compression = Off
;zlib.output_compression_level = -1
4,apache增加如下:

<IfModule deflate_module>
AddOutputFilter DEFLATE html php js css
</IfModule>

第二:使用php.ini中的zlib.output_compression
1,关闭apache中的mod_deflate.so
2,php.ini:output_buffering = On
2,php.ini为;output_handler =
zlib.output_compression = Off
zlib.output_compression_level = 6(等级-1至9,默认为6即可)

第三:用php的内置函数ob_gzhandler(必须保证extension中安装并开启了php_zlib.dll)
1,关闭apache中的mod_deflate.so
2,php.ini为output_handler = ob_gzhandler
zlib.output_compression = On
;zlib.output_compression_level = -1

第三种如果使用了php.ini中设置output_handler=ob_gzhandler,那么程序中就不需要再加ob_start(‘ob_gzhandler’);否则会双重压缩,实际上就是报错,一般程序我们会加以判断

设置php.ini为默认关闭,程序中增加,但是如果是自己服务器,就设置ini默认开启

三种只能选其一,实际项目中,建议使用第1种或者第2种:(特别建议使用第1种)

这个时候ob_start()可以自定义函数,写法如:ob_start(“compress_html”);

这样就可以压缩html格式

function compress_html($buffer){//去除文件中的注释
$pattern=array(“/> *([^ ]*) *</”,”/<!–[^!]*–>/”,”‘/\*[^*]*\*/'”,”/[\s]+/”,”/\r\n/”,”/\n/”,”/\t/”);
$replace=array(“>\\1<“,””,””,” “,””,””,””);
return ltrim(rtrim(preg_replace($pattern,$replace,$buffer)));
}

这样操作了之后,不仅可以压缩html格式(也可以使用gzip)

————————————————————————–

使用第一种,完整配置方案:

1,打开apache中的mod_deflate.so
2,php.ini为output_buffering = Off
3,php.ini为;output_handler = ob_gzhandler
;zlib.output_compression = Off
;zlib.output_compression_level = -1
4,apache增加如下:
<IfModule deflate_module>
AddOutputFilter DEFLATE html php js css
</IfModule>

在需要压缩html格式的php头部使用如下程序:
ob_start(“compress_html”);//需要将php.ini中的zlib.output_compression开启
function compress_html($buffer){//去除文件中的注释
$pattern=array(“/> *([^ ]*) *</”,”/<!–[^!]*–>/”,”‘/\*[^*]*\*/'”,”/[\s]+/”,”/\r\n/”,”/\n/”,”/\t/”);
$replace=array(“>\\1<“,””,””,” “,””,””,””);
return ltrim(rtrim(preg_replace($pattern,$replace,$buffer)));
}

这样就完整的开启了php的gzip压缩功能,而且支持浏览器查看源文件的时候html自动压缩格式化,试试看吧,绝对有用。

分类: php学习 标签: , ,
css.php