如何在PHP中从数据库填充输入类型文件值?[duplicate]

eoxn13cs  于 2023-03-16  发布在  PHP
关注(0)|答案(4)|浏览(96)

此问题在此处已有答案

How to set a value to a file input in HTML?(10个答案)
27天前关闭。
我正在编写代码编辑一个包含输入文件字段的表单。我正在获取从数据库中提取的不同字段类型的所有值,但文件类型输入不显示其值。
我有一个代码,看起来像这样:

<input class="picturebox" id="logo" name="userfile"  value="<?php echo $discount_details->picture_name;?>" />

但实际上在渲染视图中,用户文件字段的值属性为空。
当某人正在编辑表单,并且不想在编辑时更改他之前输入的图片时,我如何加载输入类型的值。

km0tfn4u

km0tfn4u1#

不能将value属性赋予输入文件类型
如果你想显示文件内容,同时更新表格,你可以显示它在单独的标签
例如:

<input type="file" /> <span><?php echo $row[column_name]?></span>

在这里你应该考虑一件事
如果用户选择了新文件上传,你可以更新列,否则用户没有选择任何东西,只是更新了其他内容,没有文件,你应该用旧文件名更新列名。

$file = $_FILES['file']['name'];
                
                
if($file!="") {

move_uploaded_file($_FILES['file']['tmp_name'],'/image/'.$file);
                
} else {

$file = $oldfile;

}
alen0pnh

alen0pnh2#

您可以只使value字段为空,并显示您的旧图像在刚刚结束的输入字段(或以下)。然后提交表单后检查,if$_POST['userfile']是空的不要更新table.picture_name

polhcujo

polhcujo3#

简单的窍门是给予标记一个id

<input type="file" name="file" /> <span name="old" value="<?=$row[column_name]?>"><?php echo $row[column_name]?></span>

然后在PHP中这样做:

$oldfile = $_POST['old'];
    $file = $_FILES['file']['name'];
    if($file!="") {
      move_uploaded_file($_FILES['file']['tmp_name'],'/image/'.$file);
    } else {
    $file = $oldfile;
    }
70gysomp

70gysomp4#

你可以这样写
第1步:在一个变量中获取你的图像。像这样$pimg = $result['pimage'];
第二步:为add文件. <input type="file" name=""image">编写html代码
步骤3:在PHP中提取文件,如果图像上传的用户。像这样$pimage = $_FILES['images']['name'];
第4步:现在检查用户是否上传了文件。

if(empty(file name)){
    if yes then update image it.
}else{
   if no then priviously uploaded image use it.
}

相关问题