【问题标题】:How can I auto populate previously uploaded file using html and php?如何使用 html 和 php 自动填充以前上传的文件?
【发布时间】:2023-03-05 12:28:01
【问题描述】:

我希望在我编辑包含文件上传的详细信息时自动选择我之前上传的文件。 我在其他类型中使用了 value 属性。但这不起作用。

<input type="file" name="file" value="<?php echo $news['image']; ?> ">

在编辑详细信息时,我必须再次选择所需的文件。编辑时默认不选择文件。我想编辑其他详细信息,但不是文件上传。

我可以怎样做才能不必再次选择它?

【问题讨论】:

标签: php html file input types


【解决方案1】:

您可以使用显示图像

<img src="path/<?php echo $news['image']; ?>"> 

或者如果它是一个文件使用

<a href="path/<?php echo $news['my_file']; ?>">My File</a> 

标记链接。

更新数据库时,请确保仅在选择新文件时更新字段图像。

【讨论】:

    【解决方案2】:

    “我在编辑详细信息时必须再次选择所需的文件”

    ...不,你没有。只需编写服务器端代码,这样如果没有选择新文件,提交表单时就不会删除现有文件。您可以在编辑表单上提供指向现有文件的链接,以便用户可以看到已经存在的内容。


    附:你不能让它在输入框中再次选择同一个文件,因为

    a) 这是一个安全问题,您的代码无法从用户的设备中选择文件 - 否则恶意网站可能会使用隐藏文件输入从设备中秘密窃取文件。浏览器强制用户必须手动选择文件,以防止这种可能性

    b) 无论如何尝试再次选择同一个文件是不合逻辑的 - 请记住,输入文件从本地设备获取文件,而不是从服务器获取文件。但是不能保证该文件仍然存在于同一位置(并且您的服务器无论如何都不知道它在哪里),并且没有被移动,重命名或删除,或者该表单甚至在同一设备上使用如从前那样。即使您忽略所有这些,重新上传您已经在服务器上获得的文件又有什么意义呢?这只会浪费带宽。

    【讨论】:

      猜你喜欢
      • 2012-12-04
      • 1970-01-01
      • 1970-01-01
      • 2010-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-31
      相关资源
      最近更新 更多