2014-12-23 58 views
1

我有一个PHP表单,它可以同时处理数据和文件上传。下图显示的形式的不同部分:PHP - 关于文件上传的问题

fileuploadsequence

第1部分 - 允许用户输入某种形式的字段,并上传文件。

第2部分 - 显示提交的详细信息,并查看上传的文件。如果需要编辑,请继续阅读第2.1部分。

部分2.1 - 编辑详细

第3部分 - 写入数据库,并上传的文件转移到文件夹中。

问:

1)在第2部分,我能够获得使用$ _FILES [ “文件上传”] [ “名称”]的文件的详细信息。当它位于服务器的临时位置时,有没有办法查看文件(单击并打开文件)?

2)我在步骤3中只能移动文件位置吗?

+0

对于'Q1'可能是用'base64'显示文件?对于'Q2'不知道 – waki

+1

如果你想稍后用上传的文件做一些事情,你必须通过'move_uploaded_file()'将它移动/保存到某个地方,因为一旦你的调用脚本临时文件将无法访问结束。你可以将它保存到你自己的临时文件夹并显示它或任何内容,然后再移动到它的最终目的地。如果您知道该文件很小,您还可以将它作为字符串保存在会话中,并在保存数据时将其写回磁盘。 – Archimedix

回答

1

对于问题1: 该文件将在请求结束时被删除。所以,如果你想查看它,你要么需要得到它的内容(的file_get_contents)或将其移动到其他位置(move_uploaded_file)

问题2: 由于该文件是它的请求之后删除它,重新定位的最安全的方法在第2步中,使用move_uploaded_file。

+0

谢谢,我会给这个镜头。 – kosherjellyfish