将上传的文件读取到变量中,而不是保存它


Read uploaded file into variable instead saving it

我希望能够读取上传的文件,但出于安全考虑,我不希望将文件保存在服务器上。。。是否可以直接将文件读取到变量中?

如果没有,临时文件是如何工作的,在服务器上保存临时文件的安全性如何,何时删除?

您必须将上传保存到一个文件中,否则任何大文件都会导致错误,因为它很容易过载可用内存。

临时文件非常不安全,通常系统上的任何人都可以读取/写入/删除您的临时文件。

最好的方法是进行正常的文件上传,在提交脚本中读取文件并进行处理,或者将其移动到更永久的位置。现在,您可以向tmp副本发出delete命令。

由于您可能没有删除权限和/或文件可能被自动删除,因此最好以这种方式发出命令(@符号会抑制任何错误,因为您并不真正关心文件是否已经删除,这是一种"以防万一"的情况)

@unlink($filename);

据我所知,它必须存储在某个地方才能与之交互,但一旦脚本执行完毕,它就会被删除。参见PHP:临时上传的文件什么时候被删除?