作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我的数据库中有一个 blob 资源。我想暂时将这个文件包装到 Symfony File 对象中,因为我想使用特定的方法,如扩展猜测器,并应用 symfony 文件验证器。我想将这个临时文件存储到内存中,因为 blob 是小文件,我不想在每个请求中都在磁盘中创建一个文件。
我试过这样做:
$file = new File ('php://temp');
但是 symfony 抛出一个错误,提示“文件“php://temp”不存在”。查看文件源,错误是由构造函数中进行的“is_file($path)”检查引起的,我可以使第二个参数中的 false 无效。但是,如果我这样做:
$file = new File ('php://temp', false);
文件已创建,但稍后错误又回来了,例如当我使用猜测器时:
$file->guessExtension($file)
因为在 Symfony/Component/HttpFoundation/File/MimeType/MimeTypeGuesser.php 中:
public function guess($path)
{
if (!is_file($path)) {
throw new FileNotFoundException($path);
}
(...)
好的。那么我的问题是:有一种方法可以在文件对象中加载“php://temp”或“php://memory”吗?
最佳答案
很确定 php://temp 写入内存直到它已满,然后写入文件,而 php://memory 确保只在内存中没有回退。
关于php - 在 Symfony 文件对象中加载 'php://temp' 或 'php://memory' 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30486473/
我是一名优秀的程序员,十分优秀!