10

PHP では、メモリ内 (またはメモリ内の一時ファイル) ファイルを使用して、外部 URL から GD リソースに画像を読み込みます。

$file = 'php://temp/img';
copy($uri, $file);
$src_img = @imagecreatefromjpeg($file);

ただし、私が理解しているように、このファイルは後で使用しなくてもメモリに残りますimagecreatefromjpeg()

php://temp ラッパー ファイルで使用されているメモリを解放する方法はありますか?

または、少なくともファイルが使用されなくなったことを知らせますか?

4

1 に答える 1

7

php://temp (または php://memory ) にファイルを作成すると、リソースはスクリプトの有効期間だけ持続します。リソース ハンドルを取得するためにを使用してファイルを開くと、 を使用fopen()して有効期間を短縮できますfclose($resource_handle)

あなたの場合、スクリプトの実行が完了するとすぐに、ファイルはメモリ内になくなります。

スクリプトが完了する前にメモリをクリアしたい状況ではfclose()、リソース ファイル ポインタを指定するだけです。

別の注意として、/img使用している は無効であり、無視されています。認識される唯一の追加データは/maxmemory:n.

于 2012-01-18T16:02:21.597 に答える