Я занимаюсь загрузкой большого изображения .jpg, а затем манипулированием им с помощью переменных. В одном месте у меня есть;Когда переменная PHP уничтожается автоматически?
$ IMAGE = imagecreatefromjpeg ($ _ FILES [ 'smileimage'] [ 'tmp_name'])
А потом позже, в if
случае, я должен $image = $newImage;
и после выполнения некоторой работы, Я хочу, чтобы переменные были уничтожены, думая, что если я их не уничтожу, они могут просто продолжать есть ОЗУ. Так что я сделал следующим образом:
if(isset($newImage)) {
imagedestroy($newImage);
}
imagedestroy($image);
imagedestroy($thumbnail);
Но это дает ошибку как
Внимание: ImageDestroy(): 11 не является допустимым ресурсом изображения в ...
Это говорит erros находится в строке imagedestroy($image)
. Но $image
является действительным image
ресурсом. Разве что, если я уничтожу $newImage
, $image
также автоматически уничтожается?
Но если я удалю строку, которая говорит;
if(isset($newImage)) {
imagedestroy($newImage);
}
, после этого, нет ошибок. Но я беспокоюсь, что если я не уничтожу $newImage
, если он установлен, он может просто остаться в ОЗУ и съесть всю память в какой-то момент? Что мне делать? А также, я хочу знать, когда переменная автоматически уничтожается?
Ницца, спасибо. Я также хочу знать, что если я просто уйду и не уничтожу '$ image' и' $ newImage', вы думаете, что в какой-то момент они в какой-то момент пополнят RAM? Или они уничтожаются, как только сессия уничтожается? Или на фиксированный интервал времени? – Sushil
@Sushil Они уничтожаются, когда ваш скрипт PHP заканчивает выполнение. Они не будут заполнять ОЗУ за пределами этой точки. –
Спасибо @Cicada. – Sushil