`

PHP 创建压缩图

 
阅读更多
<?php 
//创建压缩图
function _create_thumbnail($srcFile, $toW, $toH, $toFile="")
{
	if ($toFile == "")
	{
		$toFile = $srcFile;
	}
	$info = "";
	$data = getimagesize($srcFile, $info);
	if (!$data)
		return false;

	//将文件载入到资源变量im中
	switch ($data[2])
	{
		case 1:
			$im = imagecreatefromgif($srcFile);
			break;
		case 2:
			$im = imagecreatefromjpeg($srcFile);
			break;
		case 3:
			$im = imagecreatefrompng($srcFile);
			break;
	}

	//计算缩略图的宽高
	$srcW = imagesx($im);
	$srcH = imagesy($im);
	$toWH = $toW / $toH;
	$srcWH = $srcW / $srcH;
	if ($toWH <= $srcWH)
	{
		$ftoW = $toW;
		$ftoH = (int)($ftoW * ($srcH / $srcW));
	}
	else
	{
		$ftoH = $toH;
		$ftoW = (int)($ftoH * ($srcW / $srcH));
	}
	if (function_exists("imagecreatetruecolor"))
	{
		$ni = imagecreatetruecolor($ftoW, $ftoH); //新建一个真彩色图像
		if ($ni)
		{
			//重采样拷贝部分图像并调整大小 可保持较好的清晰度
			imagecopyresampled($ni, $im, 0, 0, 0, 0, $ftoW, $ftoH, $srcW, $srcH);
		}
		else
		{
			//拷贝部分图像并调整大小
			$ni = imagecreate($ftoW, $ftoH);
			imagecopyresized($ni, $im, 0, 0, 0, 0, $ftoW, $ftoH, $srcW, $srcH);
		}
	}
	else
	{
		$ni = imagecreate($ftoW, $ftoH);
		imagecopyresized($ni, $im, 0, 0, 0, 0, $ftoW, $ftoH, $srcW, $srcH);
	}
	//保存到文件 统一为.png格式
	imagepng($ni, $toFile); //以 PNG 格式将图像输出到浏览器或文件
	ImageDestroy($ni);
	ImageDestroy($im);
}
?>

 

分享到:
评论

相关推荐

    php文件压缩之PHPZip类.zip

    介绍了php文件压缩之PHPZip类用法,实例分析了PHPZip类的定义与相关使用技巧 要使用该PHP扩展类,需要(PHP 5 &gt;= 5.2.0, PECL zip &gt;= 1.1.0),部分方法需要 PHP 5.2. ,且php.ini配置支持zip  对于win系统,直接...

    php生成zip压缩文件

    NULL 博文链接:https://mengdejun.iteye.com/blog/818150

    php文件压缩之PHPZip类

    介绍了php文件压缩之PHPZip类用法,实例分析了PHPZip类的定义与相关使用技巧 要使用该PHP扩展类,需要(PHP 5 &gt;= 5.2.0, PECL zip &gt;= 1.1.0),部分方法需要 PHP 5.2.+,且php.ini配置支持zip 对于win系统,直接去掉...

    PHP简单创建压缩图的方法

    本文实例讲述了PHP简单创建压缩图的方法。分享给大家供大家参考,具体如下: &lt;?php //创建压缩图 function _create_thumbnail($srcFile, $toW, $toH, $toFile="") { if ($toFile == "") { $toFile = $srcFile...

    PHP服务器端压缩与解压缩

    5 运行 unzip.php,将刚才在本机压缩出的文件通过 unzip.php 上传,上传后会自动解压。 (也可以通过其它途径如 FTP 将文件上传到服务器,这样只要指定其位置即可。) ---------------------------------------------...

    移动端图片压缩上传例子

    移动端图片上传,html5+PHP实现,现在移动端存储照片都比较大,所以在上传之前我们需要进行压缩处理。简单写一下思路: 1.选择完图片通过html5的FileReader拿到base64的图片 2.创建一个Image对象,将base64图片作为...

    php简单创建zip压缩文件的方法

    主要介绍了php简单创建zip压缩文件的方法,实例分析了php基于ZipArchive实现文件压缩的相关技巧,需要的朋友可以参考下

    php处理多图上传压缩代码功能

    网上看了一些资料,关于处理图片压缩的,找到的大部分是单图压缩的,要么是单前端或者后端的,所以就自己整了下前后端压缩,并支持多图的压缩图片实例。代码有点多,直接复制到编辑器看会比较清楚 1、先创建的一个...

    php压缩文件夹最新版

    3. 同zip文件,重复压缩会合并新增文件,覆盖原来zip中的交集部分,不删除目录下消失的文件,只增不减(自己创建一个目录,生成只有A和B文件的test.zip,然后增加C文件在目录,再压缩成同名test.zip,那么zip里面会...

    UnifiedArchive一个统一的压缩文件提取和创建的PHP工具

    提供统一界面,用于列表,提取和创建的归档(zip,7z,rar,gz,bz2,xz,cab,tar,tar.gz,tar.bz2,tar.xz,tar.Z),内置控制台打包和解压unpacker 完全实现类似于PclZip的界面(创建,listContent,提取,属性...

    javascript+php原生态写的上传文件,可多选文件,解决formdata()后端只接到一个图片和图片中有恶意代码的问题

    可进行压缩图片和添加水印,对图片有恶意代码的进行重新创建新图片替代,如果不是图片类型的禁止上传,改后缀,工具改二进制码为图片码都无效,前后端都进行检测,避免关闭javascript进行渗透。

    php在线自动解压软件保证能用

    5 运行 unzip.php,将刚才在本机压缩出的文件通过 unzip.php 上传,上传后会自动解压。 (也可以通过其它途径如 FTP 将文件上传到服务器,这样只要指定其位置即可。) ---------------------------------------------...

    PHP自带ZIP压缩、解压缩类ZipArchiv使用指南

    要使用该PHP扩展类,需要(PHP 5 &gt;= ...4、将文件夹打包成zip文件(需要循环添加文件与创建空文件夹) 5、删除压缩文件中的条目 ——————— ZipArchive对象常用方法介绍 ——————— 测试约定:  测试文件

    Laravel 中创建 Zip 压缩文件并提供下载的实现方法

    如果您需要您的用户支持多文件下载的话,最好的办法是创建一个压缩包并提供下载。下面通过本文给大家看下在 Laravel 中的实现。 事实上,这不是关于 Laravel 的,而是和 PHP 的关联更多,我们准备使用从 PHP 5.2 ...

    使用颜色运行优化 将光栅图像转换为 SVG_PHP_代码_下载

    将光栅图像转换为 SVG 文件,一...在许多情况下,这实际上是一个 1×1 矩形,但它会检查相似颜色的运行(类似于 GIF 压缩)并在每次运行时创建一个矩形。它检查水平和垂直运行以查看哪种方法更有效,并返回更好的选择。

    PHP 实现文件压缩解压操作的方法

    在php中,有时我们需要使用到压缩文件操作,压缩文件可以节省磁盘空间;且压缩文件更小,便于网络传输,效率高,下面我们就来了解php的压缩解压相关操作 在PHP中有一个ZipArchive类,专门用于文件的压缩解压相关操作...

    PHP Zip压缩 在线对文件进行压缩的函数

    PHP在线对文件进行Zip 压缩函数代码,用于使用PHP在线创建ZIP压缩文件。

    PHP网络编程技术与实践 源码

    第3章 使用PHP创建动态页面 3.1 页面参数的传递 3.1.1 通过URL传递参数 3.1.2 通过表单传递参数 3.2 处理HTTP头信息 3.2.1 页面重定向 3.2.2 设定文件的过期时间 3.2.3 用户认证 3.2.4 设置页面的状态 3.2.5 设置...

Global site tag (gtag.js) - Google Analytics