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


How to populate input type file value from database in PHP?

我正在编写用于编辑包含输入文件字段的表单的代码。我正在从数据库中提取不同字段类型的所有值,但文件类型输入没有显示其值。

我有一个看起来像这样的代码:

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

但实际上在渲染的视图中,用户文件字段的属性为空。

当有人正在编辑表单并且不想在编辑时更改他之前输入的图片时,如何加载输入类型的值。

您不能为输入文件类型提供 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;
}

您可以将value字段设为空,并在该输入字段的正上方(或下方)显示旧图像。然后在提交表单后检查,if $_POST['userfile']为空,不要更新table.picture_name

简单的技巧是 ; 给标签一个 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;
    }

你可以这样写

第 1 步:在变量中获取图像。 像这样$pimg = $result['pimage'];

第 2 步:编写用于添加文件的 html 代码。 <input type="file" name=""image">

步骤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.
}