`

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自带ZIP压缩、解压缩类ZipArchiv用法指南_.docx

    PHP 自带 ZIP 压缩、解压缩类 ZipArchiv 用法指南 PHP 自带 ZIP 压缩、解压缩类 ZipArchiv 是 PHP 语言中的一个内置类,用于实现 ZIP 文件的压缩和解压缩操作。该类提供了多种方法来操作 ZIP 文件,例如压缩文件、...

    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对象常用方法介绍 ——————— 测试约定:  测试文件

    windows2003 + IIS6.0 环境下以Fastcgi方式配置php .docx

    首先,需要在 IIS 6.0 环境下配置 PHP,下载 PHP 5.3.3 的 windows 压缩版本 php-5.3.3-nts-Win32-VC9-x86.zip,并将其解压缩到 D:\PHP。然后,需要修改 PHP.ini 文件,设置 extension_dir = "D:\php\ext",magic_...

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

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

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

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

    EclipsePHP Studio 的使用和配置

    首先,创建一个新的 PHP 项目,例如命名为 Shop。项目创建完成后,在网站根目录下生成一个 shop 目录,目录结构如下所示: * shop + index.php + ... 常用功能 EclipsePHP Studio 提供了许多实用的功能来提高...

Global site tag (gtag.js) - Google Analytics