好的,我有HTML
表单,上传了10个文件。 6张图片和4张pdf。其中一些文件是其他文件所不需要的。
我的问题是,当我的脚本验证数据并向用户返回他/她有错误时,所有文件输入都返回为空白...如果用户重新提交...文件未保存
此表单还包含除文件之外的其他字段。
我尝试将$_POST
放入输入值,但不会重新填充本地文件名。
我希望如此,如果他们犯了一个或几个错误,我的用户就不需要重新输入他们想要上传的所有文件。
编辑: 这是正常的帖子不给我文件名? 是否仍在服务器上保存为temp的文件?
答案 0 :(得分:0)
确保为:
指定正确的设置请参阅:
同时确保:
enctype="multipart"
form
print_r($_FILES);
答案 1 :(得分:0)
不是将它们重定向回形式,而是使用一些JavaScript并使客户端浏览器返回一页。然后他应该提交以前选择的文件 你可以使用类似的东西:
<body onLoad="javascript:history.go(-1)">...</body>
答案 2 :(得分:0)
文件输入类型的value属性不存在,因为这是一个安全风险。您无法读取它或设置它的值(客户端或服务器端),因此即使您在用户的计算机上有本地路径,也无法填写它。
我会在提交表单之前尝试做某种客户端(甚至通过ajax)表单验证。如果他们确实提交了表单,那么文件将上传并且仍然应该在临时目录中(至少在垃圾收集开始之前)。也许在出错时将$ _FILES中的信息写入会话,而不是显示文件上传对话框,显示文件的图标,试图让他们知道你有文件,但他们需要修复表格以完成所有事情。然后,在他们提交更正后,您可以从会话中获取数据并尝试继续。