Php 你能用$\u FILES[tmp\u name]记住文件位置吗?

Php 你能用$\u FILES[tmp\u name]记住文件位置吗?,php,image,file-upload,Php,Image,File Upload,我现在正在构建一个表单,如果缺少字段或字段输入错误,它会将用户返回到表单本身。其中一个输入是图像文件。我想知道您是否想再次回显图像位置,是否使用$\u文件[tmp\u name] e、 g.value=“$\u FILES[tmp\u name]”以回显位置,从而用户无需再次重新选择图像 不,您不能以这种方式使用$\u文件['tmp\u name'],因为这不是它在用户计算机上的名称,而是它在tmp文件夹中的服务器上的临时名称。不确定是否有办法做到这一点。我会调查一下,如果我发现什么,会告诉你的

我现在正在构建一个表单,如果缺少字段或字段输入错误,它会将用户返回到表单本身。其中一个输入是图像文件。我想知道您是否想再次回显图像位置,是否使用
$\u文件[tmp\u name]


e、 g.
value=“$\u FILES[tmp\u name]”
以回显位置,从而用户无需再次重新选择图像

不,您不能以这种方式使用
$\u文件['tmp\u name']
,因为这不是它在用户计算机上的名称,而是它在
tmp
文件夹中的服务器上的临时名称。不确定是否有办法做到这一点。我会调查一下,如果我发现什么,会告诉你的,但我怀疑是否有


如果您使用AJAX文件上传,您就不必担心这个问题。

这种方式不可能。
$\u文件[tmp\u名称]
反映服务器上已上载映像的完整路径。 无法在浏览器中预选上载字段,也无法获取上载文件的完整客户端路径

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


或者将字段的验证与图像上载部分分开。使用一些ajax魔术或单独的表单。

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


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

如果表单是通过正常的html表单提交提交的,那么你就无法访问用户的文件路径。最好使用AJAX表单提交