Mar*_*ijn 10 php memory file wrapper temp
在PHP中,我使用内存(或更确切地说,temp in-memory)文件将外部URL中的图像加载到GD资源中:
$file = 'php://temp/img';
copy($uri, $file);
$src_img = @imagecreatefromjpeg($file);
Run Code Online (Sandbox Code Playgroud)
但是,据我所知,这个文件仍保留在内存中,即使我之后没有使用它imagecreatefromjpeg().
有没有办法释放php://临时包装文件使用的内存?
或者至少发出不再使用该文件的信号?
当您在php:// temp(或php:// memory)中创建文件时,资源只会持续脚本的生命周期.如果使用fopen()获取资源句柄打开文件,则可以使用缩短生命周期fclose($resource_handle).
在您的情况下,一旦您的脚本执行完毕,该文件将不再在内存中.
在您希望在脚本完成之前清除内存的情况下,您所要做的就是fclose()资源文件指针.
另一方面,/img您使用的是无效的,正在被忽略.唯一可识别的添加数据是/maxmemory:n.