0

我现在正在构建一个表单,如果缺少字段或输入错误的字段,它会将用户返回到表单本身。输入之一是图像文件。我想知道你是否想再次回显图像位置,你用$_FILES[tmp_name]吗?

例如value="$_FILES[tmp_name]"回显位置,这样用户就不必再次重新选择图像。

4

4 回答 4

0

不,您不能$_FILES['tmp_name']以这种方式使用,因为这不是它在用户计算机上的名称,而是它在您的tmp文件夹中的服务器上的临时名称。不确定是否有办法做到这一点。如果我找到任何东西,我会调查它并让你知道,但我怀疑有。

如果您使用 AJAX 文件上传,则不必担心这一点。

于 2012-07-18T15:23:39.340 回答
0

这是不可能的。$_FILES[tmp_name]反映服务器上已上传图片的完整路径。无法在浏览器中预先选择上传字段,也无法获取上传文件的完整客户端路径。

因此,如果出现错误,您可以将此临时文件复制到另一个位置并将已上传的图像显示给用户,而不是再次给他上传字段。但是如果用户没有尝试修复他的无效字段,您需要确保删除这个复制的图像。

或者您将字段的验证与图像上传部分分开。使用一些 ajax 魔法或单独的形式。

于 2012-07-18T15:24:05.873 回答
0

这是不可能的,您可以尝试在文件输入上使用 value 属性来查看它没有效果。

想象一下,如果你能做到这一点,那将是一个严重的安全问题(即:隐藏一个具有预填充值的文件输入,该值具有重要文件的公共路径,并与其他一些细节同时获取)

于 2012-07-18T15:24:32.737 回答
0

如果表单是通过普通的 html 表单提交提交的,那么您无权访问用户的文件路径。您最好的选择是使用 AJAX 表单提交。

于 2012-07-18T15:24:49.200 回答