编辑文件不采用默认值=image_name



查看

<form class="m-form" action="<?php echo AURL;?>products/update_product/<?php echo $products['product_id'];?>" method="post" enctype="multipart/form-data">
<input type="file" name="product_image_name" class="form-control m-input dropify" placeholder="" data-default-file="<?php echo Website_Assets.'images/'.$products['product_image_name'];?>" value="<?php $products['product_image_name'];?>" data-max-file-size="2M" required>
</form>

在上面的代码中,product_image_name不取任何值,但显示图像拾取路径,当我更改图像时,它会发布image_name

控制器

public function update_product($product_id)
{
echo "<pre>";
print_r ($_FILES['product_image_name']);
echo "</pre>";
exit();
}

更改图像工作正常,但如果我不更改图像,它不会选择图像的默认值


简短回答:类型为fileinput不能有默认值。

相反,使用<img />标记来显示默认图像。例如:

<img src=" <?php echo Website_Assets.'images/'.$products['product_image_name'];?>" />

正常答案:假设您正在尝试上传图像,请将其保存到表单后面的实体中,然后进行编辑;试着考虑只使用一个字段。相反,也许是这样一个序列:

  1. 使用上传字段上传文件
  2. 将上传的文件保存在运行PHP的机器上(服务器端(
  3. 将上载文件的路径存储在实体中
  4. 在实体的编辑视图中,显示以下两者:
    • 上载的图像(或占位符(
    • 用于上载新图像的上载字段

祝你好运!

提示:您可能还想了解像dropzonejs这样的开源库。现有的库经常提供示例和优秀的文档。此示例将上传字段与显示字段直观地组合在一起。

相关内容

最新更新