PHP:刷新页面时上传文件的问题


PHP: problems with upload files while refreshing page

我只是在 PHP 中处理一个简单的表单,但我有一个问题,我的表单中有很多字段,其中一个是文件输入类型,如果上传的文件没有问题但在另一个字段上发生错误,我如何(在刷新的页面中)维护之前上传的文件?

编辑:我们理解你想要什么,但这是不可能的,验证后自动再次填充文件输入。用户必须再次选择他的文件,这就是浏览器的工作方式,出于安全问题。

好吧,既然你知道自己在做什么,你真的不需要脚本,你真的需要一些关于如何处理你想要的帮助/想法。我要做的是:
- 将上传文件的路径保存在会话用户数据变量(如 $_SESSION['uploaded_file'])中,并在出错后检索它。
- 在用户点击提交之前,使用 AJAX(不同的形式)上传文件。Obs:如果用户放弃填写表单,即使他上传了一个文件,他的文件就会在你的服务器上,"窃取"一些有用的空间。所以我不知道这是否是一个非常好的方法,但是一个好的方法,是使用不同的表单,从表单的信息中拆解上传操作。真实示例:如果用户正在填写表单以成为您的网站/论坛/其他任何内容的成员,只需让他稍后上传个人资料图片,只有当他的帐户真正活跃时。你可以省去一些麻烦。

另一个:如果用户只想更改个人资料图片,也使上传操作对他的个人资料信息等没有影响(反之亦然)。这是一个节省麻烦的方法,也是一个更好的解决方案。

但是,如果您喜欢将照片上传到图库并为图片设置描述等,那么您可以使用更详细的验证,使用 javascript/ajax 在提交数据之前检查字段是否正确填写。

在上传代码上,首先将值保存到 SESSION 中,如下所示:

$_SESSION[name] = $_POST[name];

然后将其打印到您的输入中,例如:

<input type="text" name="name" value="<?=$_SESSION[name]?>">

不要忘记使用 session_start()。

或者寻找JavaScript替代品