`

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缩略图php图片缩放php图片压缩

    本文将深入探讨如何使用PHP的GD库来创建缩略图、缩放图片以及进行图片压缩。 首先,GD库是PHP的一个内置图像处理库,提供了丰富的函数来处理各种图像格式,如JPEG、PNG、GIF等。通过GD库,我们可以实现以下功能: ...

    php生成zip压缩文件

    下面是一个基本的示例,演示如何使用PHP创建一个新的ZIP文件,并将多个文件添加到其中: ```php &lt;?php // 创建一个新的ZipArchive实例 $zip = new ZipArchive(); // 打开或创建名为'example.zip'的ZIP文件 if ($...

    完美php图片上传压缩程序

    本文将详细讨论“完美PHP图片上传压缩程序”的核心知识点,包括PHP图片处理、图片上传和等比缩放。 首先,PHP提供了GD库和Imagick库等内置工具,用于处理和操作图像。GD库是最基础的图像处理库,支持JPEG、PNG、GIF...

    php zip gzip tar..压缩解压缩类

    在PHP编程中,处理文件压缩和解压缩是常见的任务,特别是在数据传输、备份或存储时。这个资源包包含了处理zip、gzip和tar等压缩格式的类,提供了方便的方法来完成这些工作。以下是对这些知识点的详细说明: 1. **...

    php在线解压缩工具

    4. `zip.php`、`zip.php3.php`:这些文件可能用于创建或操作ZIP文件,可能包含压缩功能的实现。 5. `rm.php`:可能是一个删除文件或清理解压后临时文件的PHP脚本。 6. `readme.txt`:这是常见的说明文件,可能包含了...

    php 在线 压缩 解压缩

    - **创建压缩文件**:通过`new ZipArchive()` 创建一个Zip对象,然后调用`open()` 方法打开或创建一个新的ZIP文件,接着使用`addFromString()` 或 `addFile()` 添加文件到压缩包,最后调用`close()` 关闭并保存文件...

    php在线压缩代码zip

    以下是一个简单的示例,展示了如何使用PHP创建一个包含网站文件的ZIP压缩包: ```php &lt;?php $zip = new ZipArchive(); $filename = "website_backup.zip"; if ($zip-&gt;open($filename, ZipArchive::CREATE) === TRUE...

    PHP生成、下载excel、zip压缩文件_excelphp图片_excel_zip_php_

    综上所述,PHP结合第三方库如PHPSpreadsheet,可以轻松生成包含图片的Excel文件,而内置的`ZipArchive`类则能帮助我们创建ZIP压缩文件。这两个功能在数据处理和文件打包方面有着广泛的应用。在实际项目中,根据具体...

    html5前端压缩图片php接收

    在本文中,我们将深入探讨如何使用HTML5前端技术对图片进行压缩,并通过PHP后端接收并保存到服务器。这个过程涉及到的技术主要包括HTML5的Canvas API、FileReader API以及PHP的文件处理函数。以下是对这些技术的详细...

    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简单创建压缩图的方法

    在创建压缩图的过程中,会使用到如`imagecopyresampled()`, `imagecopyresized()` 和 `imagecreatetruecolor()` 这样的函数。`imagecopyresampled()` 是一种高质量重采样图像函数,而 `imagecopyresized()` 为图像...

    PHP实现的超强在线压缩解压缩 脚本代码phpzip(亲测好用)

    ZipArchive提供了一组丰富的API,可以用来创建、读取、修改和删除ZIP格式的压缩文件。首先,我们需要创建一个ZipArchive对象,然后调用其addFile方法来添加单个文件,或者使用addEmptyDir来创建目录。一旦所有需要的...

    php 压缩文件夹压缩程序

    在PHP中,我们可以使用内置的`ZipArchive`类来创建、读取和修改ZIP压缩文件。这个类提供了丰富的功能,可以方便地处理文件夹或单个文件的压缩任务。以下是对"php 压缩文件夹压缩程序"的详细解释: 1. **`ZipArchive...

    php在线压缩解压工具

    总的来说,PHP的在线压缩解压工具利用了PHP的内置函数和可能的第三方库,通过编写脚本来实现对ZIP文件的读取、创建、解压和压缩操作。这些工具的实现依赖于对PHP编程的深入理解和对文件操作的熟练掌握。

    PHP压缩文件夹

    这通常涉及到PHP的Zip扩展库,它可以让我们轻松地创建、读取和修改ZIP格式的压缩文件。 首先,我们需要理解PHP的ZipArchive类,它是PHP 5.2.0及以上版本中引入的一个核心类,用于处理ZIP文件。通过这个类,我们可以...

    kindeditor上传图片自动压缩过大的图片

    在某些场景下,为了优化网站性能和减少服务器存储空间,我们可能需要限制用户上传的图片大小,或者在上传过程中自动对过大的图片进行压缩。标题和描述提到的问题,就是在KindEditor中实现这一功能的方法。 首先,...

    php在线压缩的两种方法

    下面是一个使用`ZipArchive`创建压缩文件的基本流程: ```php $zip = new ZipArchive(); if ($zip-&gt;open('example.zip', ZipArchive::CREATE) !== TRUE) { exit("无法创建ZIP档案"); } // 假设我们有多个文件需要...

    php在线压缩

    3. **创建压缩文件**:利用`gzcompress()`、`gzdeflate()`、`ZipArchive`类或者`Phar`类来创建压缩文件。例如,可以使用`ZipArchive::addFile()`方法将上传的每个文件添加到ZIP档案中,并调用`ZipArchive::compress...

    php文件在线压缩程序类.zip

    该压缩程序类库的工作原理基于PHP的zip扩展,它允许开发者创建、修改和读取ZIP格式的压缩文件。在PHP中,`ZipArchive`类是核心,它提供了对ZIP文件的各种操作方法,如添加文件、删除文件、提取文件等。例如,可以...

    PHP实例 压缩文件夹并下载

    - 创建压缩文件的基本步骤包括:打开一个新的ZIP文件(`new ZipArchive()`),添加文件(`addFile()`)或目录(`addEmptyDir()`),然后关闭文件(`close()`)。 - 在本实例中,我们可以使用当前日期作为压缩文件...

Global site tag (gtag.js) - Google Analytics