【发布时间】:2009-09-15 18:36:46
【问题描述】:
我正在用 PHP 创建一个在线游戏,用户可以在其中创建可玩的角色。每个角色都可以有一个用户上传的肖像。一个玩家可以同时拥有多个角色,并且他们的图片可以随时更改。自然地,必须调整图片大小并重新压缩以避免大文件。这是我的问题:
当玩家更改他的数据(其中包括图片),然后点击“保存”,服务器端验证启动。它检查诸如非唯一字符名称、空必填字段等内容。如果有任何错误找到了,就会显示出来。在这种情况下,表格应该预先填充玩家输入的数据,因此他只需更改错误位,而不是重新输入所有内容。但是这样的“临时”状态怎么保存图片呢?
我无法预先填充文件上传字段,浏览器不允许这样做。如果我将它保存在一个临时文件中,则必须在某个时候清理图片,因为玩家可以简单地关闭他的浏览器并中止整个过程。那应该是什么时候?我应该为临时文件选择什么文件名?如果玩家在两个浏览器选项卡中打开同一个角色进行编辑,它们不应该发生冲突(每个选项卡都应该有自己的副本)。
你会如何解决这个问题?
【问题讨论】:
标签: php temporary-files image upload