压缩文件 1$zip = new ZipArchive();2// 打开一个zip文档,ZipArchive::OVERWRITE:如果存在这样的文档,则覆盖;ZipArchive::CREATE:如果不存在,则创建 3$res = $zip->open(‘test.zip‘, ZipArchive::OVERWRITE | ZipArchive::CREATE);4if($res)5{6// 添加 a.txt 到压缩文档 7$zip->addFile(‘a.txt‘);8// 添加一个字符串到压缩文档中的b.txt 9$zip->addFromString(‘b.txt‘, ‘this is b.txt‘);
10// 添加一个空目录b到压缩...
1 <?php2/**3 * 关于文件压缩和下载的类4 * @author tycell5 * @version 1.06*/ 7class zip_down{8 9protected$file_path;
10/**
11 * 构造函数
12 * @param [string] $path [传入文件目录]
13*/14publicfunction __construct($path){
15$this->file_path=$path; //要打包的根目录16 }
17/**
18 * 入口调用函数
19 * @return [type] [以二进制流的形式返回给浏览器下载到本地]
20*/21publicfunction index()...
<?php$im = imagecreatefromjpeg(‘D:\phpplace\111.jpeg‘);resizeImage($im,100,100,‘xinde‘,‘.jpg‘);
function resizeImage($im,$maxwidth,$maxheight,$name,$filetype)
{$pic_width = imagesx($im);$pic_height = imagesy($im);echo "start-----------------" ;if(($maxwidth && $pic_width > $maxwidth) && ($maxheight && $pic_height > $maxheight)){if($maxwidth && $pic_width>$maxwidth){$widthratio = $maxwidth/$p...
总结: 使用PHP下载文件的操作需要给出四个header(),可以参考我的另一篇博文:PHP如何实现下载功能超详细流程分析 计算文件的大小的时候,并不需要先打开文件,通过filesize($filename)就可以看出,如果需要先打开文件的话,filesize可能就会是这样的形式了filesize($filehandle) 向客户端回送数据的是,记得要设置一个buffer,用来指定每次向客户端输出多少数据,如:$buffer=1023。如果不指定的话,就会将整个文件全部写入内存当...
压缩一个文件我们将一个文件生成一个压缩包。<?php
$path = "c:/wamp/www/log.txt";
$filename = "test.zip";
$zip = new ZipArchive();
$zip->open($filename,ZipArchive::CREATE); //打开压缩包$zip->addFile($path,basename($path)); //向压缩包中添加文件$zip->close(); //关闭压缩包上述代码将c:/wamp/www/log.txt文件压缩生成了test.zip,并保存在当前目录。压缩多个文件压缩多个文件,其实就是addFile执行多次,可以通...
代码兼容gif、png、jpg、jpeg格式,若报warning,则可能是原图片本身有损坏代码如下: <?php$path = ‘D:\phpstudy\WWW\ABC\upload\images‘;///当前目录$handle = opendir($path); //当前目录while (false !== ($file = readdir($handle))) { //遍历该php文件所在目录list($filesname,$kzm)=explode(".",$file);//获取扩展名if($kzm=="gif" or $kzm=="jpg" or $kzm=="JPG" or $kzm=="png") { //图片过滤if (!is_dir(‘./‘.$file)...
一些理论知识先说一下deflate算法吧,deflate是zip压缩文件的默认算法, 其实deflate现在不光用在zip文件中, 在7z, xz等其他的压缩文件中都用, 实际上deflate只是一种压缩数据流的算法,任何需要流式压缩的地方都可以用。也就是说 zlib 格式, gzip 格式,是文件格式,deflate 是这些文件格式使用的压缩算法。传输方式deflate 压缩后是二进制,通常有两种传输方式:二进制Base64编码二进制PHP// 压缩,注意:其中 ZLIB_ENCODING_DE...
在PHP中偶尔遇到字符串的压缩,比如一个长字符串,数据库开始设计的字段存不下,但是又不想改数据库字段存储长度,就可以用压缩的方式降低数据字段字符串的长度数量级,把几百个字符的字符串压缩到几十个字符。总结下来有以下几个:压缩函数:gzcompress gzdeflate gzencode与之对应的解压函数如下:解压函数:gzuncompress gzinflate gzdecode特别注意:gzdecode是PHP 5.4.0之后才加入的,使用的时候要注意兼容性问题。gzcompress...
要使用该PHP扩展类,需要(PHP 5 >= 5.2.0, PECL zip >= 1.1.0),部分方法需要 PHP 5.2.+,且php.ini配置支持zip
对于win系统,直接去掉php_zip.dll 扩展的注释,然后重启http服务(IIS或Apache)即可
Linux还没有试验,理论上差别不会很大 功能:
1、解压缩zip文件
2、将文件压缩成zip文件
3、追加文件到zip文件
4、将文件夹打包成zip文件(需要循环添加文件与创建空文件夹)
5、删除压缩文件中的条目---------------------...
PclZip文件压缩实现(推荐) 我在做项目是的时候有个打包下载的需求:把上传的多个文件压缩成一个文件并下载,我用的比较强大的PclZip类实现的。我的用的是thinkphp3.2框架开发的,具体实现代码如下 /**
* 压缩文件
* @param $zipName 压缩的文件名
* @param $fileName 要压缩的文件路径的数组或字符串
* @param $savePath 要保存的路径
* @return bool
*/
public function createZip($zipName,$...
在项目的入口文件index.php添加 define ( "GZIP_ENABLE", function_exists ( ‘ob_gzhandler‘ ) );
ob_start ( GZIP_ENABLE ? ‘ob_gzhandler‘ : null ); 就可以实现了 如下图 原文:http://my.oschina.net/weiwenfeng/blog/479170
这个不完全是我自己写的-_-!,但是好用呀
<?php
/*** Created by PhpStorm.* Note:文件介绍* User: Lynly* Date: 2018/11/19* Time: 14:33*/class Imgcompress
{private $src;private $image;private $imageinfo;private $percent = 0.5;/*** 图片压缩* @param string $src 源图* @param float $percent 压缩比例*/public function __construct($src, $percent = 1){$this->src = $src;$this->percent = $percent;} /** 高清压...
<?phpecho "原来比率<br />";$str = ‘{.....}‘;echo strlen($str).‘<br />‘;//压缩率居中$compressed = gzcompress($str, 9);echo ‘gzcompress:‘.strlen($compressed).‘,‘."<br />"; //gzuncompress($compressed) //压缩率并列最高$compressed = gzdeflate($str, 9);echo ‘gzdeflate:‘.strlen($compressed).‘,‘."<br />"; //gzinflate($compressed) $bzstr = bzcompress($str, 9);echo ‘bzcompress:‘.strlen($bzstr...
一创建图片资源imagecreatetruecolor(width,height);imagecreatefromgif(图片名称);imagecreatefrompng(图片名称);imagecreatefromjpeg(图片名称);画出各种图像 imagegif(图片资源,保存路径);imagepng()imagejpeg();二获取图片属性imagesx(res//宽度imagesy(res//高度getimagesize(文件路径)返回一个具有四个单元的数组。索引 0 包含图像宽度的像素值,索引 1 包含图像高度的像素值。索引 2 是图像类型的标记:1 = GIF,2 = JPG,3...
一般服务器不会胡乱返回gzip压缩的数据,一般是客户端请求的头部里包含你浏览器能接受的压缩方式,Accept-Encoding:gzip,deflate,sdch这里是gzip 、deflate、sdch这三种方式,这里不一一说明是指什么,不懂的可以去找谷哥度娘,有些服务器强制返回gzip压缩的数据,我们采集的时候,返回的是乱码,根本无法读取使用,这个时候马上查看手册发现其实curl里有个参数,curl_setopt($ch, CURLOPT_ENCODING,‘gzip‘);手册解释:
CURLOPT_...