1

所以我想做的是: - 给定一个图像 url - > 将图像转换为 png - 压缩结果 png

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

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

我想知道的是,是否可以在压缩之前不创建图像副本来执行此操作

4

1 回答 1

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);
于 2013-02-06T17:57:14.717 回答