在图像的所有资源使用完毕后,通常需要释放图像处理所占用的内存。在 PHP 中可以通过 imagedestroy() 函数来释放图像资源,其语法格式如下所示:
其中,$image 为要释放的图像资源。
【示例】在图像处理程序执行完毕后使用 imagedestroy() 函数来释放图像资源。
<?php
header('Content-type:image/png');
$image = imagecreatefrompng('http://www.cdsy.xyz/skin/cdsy/images/logo.png');
imagepng($image);
imagedestroy($image);
?>
运行上面的代码会输出城东书院的 logo。另外,释放图像资源的操作是没有输出内容的,那么要怎么证明图像是不是被释放了呢?其实我们可以在输出图像之前就执行释放图像资源,示例代码如下所示:
<?php
header('Content-type:image/png');
$image = imagecreatefrompng('http://www.cdsy.xyz/skin/cdsy/images/logo.png');
imagedestroy($image);
imagepng($image);
?>
运行结果如下:
提示:使用 Chrome 浏览器可能无法输出上面的错误信息,而是输出一个空白的图像。上面的错误提示是通过 IE 浏览器输出的。
通过上面的示例代码可以看出,使用 imagedestroy() 函数确实可以释放图像资源。