1

我有这个脚本来拍摄原始照片,重新采样两次,用于缩略图和预览。这个脚本工作正常,即使你可能会发现语法时尚的一些弱点,我敢肯定。脚本本身不是我的问题的主题。我想知道之后我是否应该以某种方式清除内存。我是否用数据淹没了我的服务器?或者这很好并且之后会自行清除。我问是因为这个脚本将处理我的画廊,并且预计会一次处理多个文件。

脚本是这样写的:

 $filename = $DumpHere.$Processed;

// Get new dimensions
 list($width, $height) = getimagesize($filename);
// Resample thumbnail
 $image_p = imagecreatetruecolor(70, 70);
 $image = imagecreatefromjpeg($filename);
 imagecopyresampled($image_p, $image, 0, 0, 0, 0, 70, 70, $width, $height);
// Output Thumbnail
 imagejpeg($image_p, $ThumbsFolder.'thumb_'.$Processed, 100);
// Resample preview
 $image_p = imagecreatetruecolor(500, 300);
 $image = imagecreatefromjpeg($filename);
 imagecopyresampled($image_p, $image, 0, 0, 0, 0, 500, 300, $width, $height);
// Output Preview
 imagejpeg($image_p, $PreviewFolder.'preview_'.$Processed, 100);

只是为了清楚

$DumpHere

是处理前包含原始文件的文件夹的路径。感谢您的帮助。

4

1 回答 1

1

你想在你的资源上使用imagedestroy(),所以只需添加:

imagedestroy($image_p);
imagedestroy($image);

最后,这将释放内存。PHP 非常适合自己摆脱内存。例如,一旦你的脚本结束,所有的内存都会被释放。但这是将这些资源显式返回给系统的方法。

于 2012-10-17T17:34:44.057 回答