重新加载页面后保留文件上传值


keep file-upload value after page reload

我有一个巨大的表单,允许用户(以及许多其他输入)上传多个图像,如下所示:

<input type="file" id="product_images" class="hidden" name="upload[]" multiple>
<input type="file" id="product_images_2" class="hidden" name="upload[]" multiple>
... 

现在,当某个输入中出现错误时(例如,"description"字段的字符串太短),页面会重新加载。重新加载后,我需要将所有发布的数据保留在所有输入中。对于文本输入,我知道该怎么做,如下所示:

<input name="name" type="text" value="<?php echo $_POST['name']; ?>"/>

但是,如何为file输入实现此目的?我尝试了这样的事情:

<input type="file" id="product_images" name="upload[]" multiple value="<?php print($_POST['upload']); ?>">

虽然没有工作。有什么想法吗?谢谢!

也许这是因为您正在服务器中验证,请尝试在浏览器中验证您的字段,如果服务器重新加载它将丢失保存在字段中的所有数据。

亲自尝试这个验证器,我喜欢它:http://jqueryvalidation.org/

跳跃它帮助

$_SESSION["image_path"] = $_POST['upload'];
<input type="file" id="product_images"<?php values= if(empty($_session['image_path'])) {} else { echo $_session['image_path']; } ?>class="hidden" name="upload[]">

检索后,销毁会话

尝试在输入栏中使用对您有帮助的pattern,您可以非常轻松地做到这一点

http://www.wufoo.com/html5/attributes/10-pattern.htmlhttp://www.w3schools.com/tags/att_input_pattern.asp