La función imagedestroy() es una función incorporada en PHP que se usa para destruir una imagen y libera cualquier memoria asociada con la imagen.
Sintaxis:
bool imagedestroy( resource $image )
Parámetros: esta función acepta un solo parámetro $imagen que contiene el nombre de la imagen.
Valor de retorno: esta función devuelve VERDADERO en caso de éxito y FALSO en caso de error.
Los siguientes ejemplos ilustran la función imagedestroy() en PHP:
Ejemplo 1: Destruir la imagen después de usarla.
<?php // Load the png image $im = imagecreatefrompng( 'https://media.geeksforgeeks.org/wp-content/uploads/20200123135210/geeksforgeeksinverted.png'); // Crop the image $cropped = imagecropauto($im, IMG_CROP_BLACK); // Convert it to a png file header('Content-type: image/png'); imagepng($cropped); // Destroy the cropped image to deallocate the memory imagedestroy($cropped); ?>
Producción:
$cropped variable is destroy by the end line and you can't access it after that line.
Ejemplo 2: Comprobando si la variable está destruida.
<?php // Load the png image $im = imagecreatefrompng( 'https://media.geeksforgeeks.org/wp-content/uploads/20200123135210/geeksforgeeksinverted.png'); header('Content-type: image/png'); // Destroy the image to deallocate the memory imagedestroy($im); // Try to access the destroyed variable imagepng($im); ?>
Producción:
PHP log will give a error as the variable is destroyed. PHP Warning: imagepng(): supplied resource is not a valid Image resource.
Referencia: https://www.php.net/manual/en/function.imagedestroy.php