-1

重複の可能性:
エラー:許可されたメモリサイズ67108864バイトが使い果たされました

私のウェブサイトに(複数の)ファイルアップロードフォームがあり、それは機能しますが、アップロードするファイルが多すぎると(おそらくファイルサイズによって異なります)、そのエラーが発生します。php.iniのmemory_limitプロパティを編集できることは知っていますが、phpでそのメモリを解放する方法はありますか?

いくつかの画像をアップロードしています。次に、画像のサイズを変更して2つの画像にトリミングし、ディレクトリとデータベースに保存します。

ありがとう

4

1 に答える 1

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])));
}
于 2012-10-06T15:23:55.357 に答える