【发布时间】:2012-02-12 05:19:21
【问题描述】:
在 PHP 中,我使用内存中的(或者更确切地说,内存中的临时文件)将图像从外部 URL 加载到 GD 资源中:
$file = 'php://temp/img';
copy($uri, $file);
$src_img = @imagecreatefromjpeg($file);
但是,据我了解,此文件仍保留在内存中,尽管在 imagecreatefromjpeg() 之后我不再使用它。
有没有办法释放 php://temp 包装文件使用的内存?
或者至少表明该文件不再使用?
【问题讨论】:
-
不确定这是否可能 - 我希望是这样,如果不是的话,这似乎很荒谬。但是,一个潜在的解决方法是使用
php://maxmemory设置一个非常低的内存值,这样数据将始终写入磁盘,从而保持较低的内存使用率。虽然如果你打算这样做,你不妨只使用一个临时文件,使整个php://temp变得毫无意义。
标签: php file memory wrapper temp