可能重复:
Error: Allowed memory size of 67108864 bytes exhausted
我的网站上有一个(多个)文件上传表单,但它可以工作,但是如果我上传了太多文件(取决于文件大小,我猜)我得到了这个错误。我知道我可以编辑php.ini中的memory_limit属性,但是他们可以通过php释放内存吗?
我正在上传一些图片,然后将它们调整大小并裁剪为两张图片,然后保存在目录和数据库中。
由于
答案 0 :(得分:1)
当不再需要图像时(例如,当它被复制到不同的图像中时),可以使用imagedestroy()释放内存。这是一个例子:
function resize($width, $image,$path,$rand,$i) {
$max_width = $width;
$old_width = imagesx($image);
$old_height = imagesy($image);
$scale = ($max_width / $old_width);
$new_width = ceil($scale*$old_width);
$new_height = ceil($scale*$old_height);
$new = imagecreatetruecolor($new_width, $new_height);
imagecopyresampled($new, $image, 0, 0, 0, 0, $new_width, $new_height, $old_width, $old_height);
imagedestroy($image);
return imagejpeg($new,"../../../bonangana/img/albums/$path/" . $rand . "_". str_replace(" ", "_", trim($_FILES['file']['name'][$i])));
}