首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP -在会话数据中存储图像?

PHP -在会话数据中存储图像?
EN

Stack Overflow用户
提问于 2009-04-15 23:23:51
回答 7查看 25.8K关注 0票数 20

你能在PHP会话中存储图像吗?

我有一个在我的网站上使用PHP的多步骤注册过程。在其中一个步骤中,用户可以上传他们的公司徽标(图像)。

最后一步是处理他们的信用卡。

因此,在我将任何图像写入web服务器和图像位置到数据库之前,我想确保他们的信用卡是有效的和正在处理的。

因此,是否可以将图像数据临时存储在会话变量中?

如果没有,在提交图像数据之前,人们如何在表单上临时存储图像数据?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-04-15 23:31:03

您只能预期会话的内存使用量会随着图像的大小而增加。为此,必须将文件内容保存到会话变量中。

如果它在会话数据中,并且在上传之后有多个步骤,则图像将在每个页面视图中重新加载(到会话中),直到这些步骤完成。

我个人建议不要使用会话来保存二进制文件。将磁盘上的图像保存到临时位置,直到注册完成。我只会在会话中保存临时文件的路径。当transaciton完成后,将其移动到适当的位置,并执行数据库插入。

而且,在本质上,会话数据无论如何都存储在磁盘(或数据库)上,所以您最好保存一次映像文件,然后在完成后发出移动命令。

票数 32
EN

Stack Overflow用户

发布于 2009-04-16 08:45:53

我会将文件保存到磁盘,您甚至可以使用用户的会话id对其进行命名。然后可能会有某种清理脚本,它作为cron作业运行,并删除从未成功付款的人的图像。

如果您尝试在会话中存储图像,那么您就做错了。

票数 10
EN

Stack Overflow用户

发布于 2009-04-15 23:37:16

上载文件时,会在$_FILES数组中为其分配一个临时名称。我不知道这些文件的确切生命周期,但您也许能够在会话中捕获该名称,并将move_uploaded_file()调用推迟到CC验证之后。

或者,您可以先执行CC步骤。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/754145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档