我有一个输入fiels的表单。其中之一是文件上传字段。 当用户提交表单时,将验证每个字段并使用错误消息重新加载页面,但所有其他字段仍显示用户输入。现在我想,一旦用户选择了一个文件,并且由于其他错误而无法验证表单,所选文件仍将在重新提交后上传。
我使用value属性显示输入的值。我知道由于安全问题,您无法设置文件输入的值。
这是我到目前为止所得到的:
<?php
if(isset($fileUpload))
{
echo "<span>selected File: ".$fileUpload["name"]."<span>";
$_FILES["file-upload"]=$fileUpload;
} ?>
<input type="file" class="button" name="file-upload" id="file-upload" accept=".zip"/>
提交后会发生这种情况:
if (!isset($_FILES["file-upload"]))
{
$uploadError = "Please choose a file";
$hasError = true;
} else {
$fileUpload=$_FILES["file-upload"];
}
提交的文件存储在$fileUpload
中。我试图手动设置$_FILES["file-upload"]
变量,但它似乎不起作用。
重新提交后,$fileUpload["name"]
为空。
如何保存所选文件,以便用户在提交失败后不会重新选择?
答案 0 :(得分:1)
您不能像其他字段一样在加载页面后存储文件值(另一种方式是您可以上传文件,作为回报,您可以在隐藏中传递上传的文件值,如果用户再次添加文件则取消链接前一个文件,否则使用第一步上传的文件。)