我正在上传大型 .jpg 图像,然后通过变量对其进行操作。在一个地方,我有;
$image = imagecreatefromjpeg($_FILES['smileimage']['tmp_name'])
然后稍后,在某种if
情况下,我必须$image = $newImage;
在做一些工作之后,我希望变量被销毁,我想如果我不销毁它们,它们可能会继续吃 RAM。所以我做了如下:
if(isset($newImage)) {
imagedestroy($newImage);
}
imagedestroy($image);
imagedestroy($thumbnail);
但这提供了一个错误,因为
警告:imagedestroy(): 11 在...中不是有效的图像资源
它告诉 erros 符合imagedestroy($image)
. 但是$image
是一个有效的image
资源。是不是如果我销毁$newImage
,$image
也会自动销毁?
但是,如果我删除上面写着的那一行;
if(isset($newImage)) {
imagedestroy($newImage);
}
那么,就没有错误了。但我担心,如果我不销毁$newImage
它,它可能会在 RAM 上持续存在并在某个时候吃掉整个内存?我该怎么办?而且,我想知道变量什么时候自动销毁??