PHP:如何将jpeg转换为png然后压缩(不进行复制)

时间:2013-02-06 17:52:17

标签: php

所以我要做的是: - 给出图像网址 - >将图像转换为png - zip产生的png

我有以下代码成功进行转换和压缩(稍后我将扩展它以测试自动转换格式的扩展名):

$file = "../assets/test.jpg";
$img = imagecreatefromjpeg($file);
imagePng($img, "files/temp.png" );
$zip->addFile( "files/temp.png", "test.png" );

我想知道的是,是否可以在压缩之前创建图像副本

1 个答案:

答案 0 :(得分:3)

请参阅ZipArchive::addFromString()

$file = "../assets/test.jpg";

// capture output into the internal buffer
ob_start();

$img = imagecreatefromjpeg($file);
imagepng($img);

// get contents from the buffer
$contents = ob_get_clean();

$zip = new ZipArchive();
$zip->open('archive.zip', ZipArchive::CREATE);

// and put them in the zip file...
$zip->addFromString('name_in_the_zip.png', $contents);