1

私はこのスクリプトを持っており、元の写真を撮り、サムネイルとプレビューのために2回リサンプリングします。このスクリプトは、構文上のファッションの弱点を見つけるかもしれませんが、問題なく機能します。スクリプトはそのままですが、私の質問の対象ではありません。後でどういうわけかメモリをクリアすることになっているのだろうかと思っていますが、サーバーにデータが殺到しているのでしょうか?または、これで問題なく、後でクリアされます。このスクリプトは私のギャラリーを処理し、一度に複数のファイルを処理することが期待されているため、質問しています。

スクリプトは次のように書かれています:

 $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 に答える