作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
在 PHP 中,我使用内存中(或者更确切地说,内存中的临时文件)将图像从外部 URL 加载到 GD 资源中:
$file = 'php://temp/img';
copy($uri, $file);
$src_img = @imagecreatefromjpeg($file);
但是,据我了解,该文件仍保留在内存中,即使在 imagecreatefromjpeg()
之后我没有使用它。
有没有办法释放 php://temp 包装文件使用的内存?
或者至少发出文件不再使用的信号?
最佳答案
当您在 php://temp(或 php://memory 中)中创建文件时,资源只会持续脚本的生命周期。如果您使用 fopen()
打开文件以获取资源句柄,则可以使用 fclose($resource_handle)
缩短生命周期。
在您的情况下,一旦您的脚本执行完毕,该文件将不再在内存中。
如果你想在脚本完成之前清除内存,你所要做的就是fclose()
资源文件指针。
另一方面,您使用的 /img
无效并且被忽略。唯一可识别的添加数据是 /maxmemory:n
。
关于php - 如何从 php ://temp wrapper 中删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8894030/
我是一名优秀的程序员,十分优秀!