файл редактирования не принимает значение по умолчанию = имя_изображения

Посмотреть

<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();
}

смена изображения работает нормально, но если я не изменю изображение, оно не выбирает значение по умолчанию для изображения

0

Решение


Короткий ответ: input типа file не может иметь значение по умолчанию.

Вместо этого используйте <img />-Tag, чтобы показать изображения по умолчанию. Например:

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

Нормальный ответ: Предполагая, что вы пытаетесь загрузить изображение, сохраните его в объекте, который находится за формой, а затем отредактируйте его; попытайтесь обдумать, используя только одно поле. Вместо этого возможно последовательность как это:

  1. Загрузите файл, используя поле загрузки
  2. Сохраните загруженный файл на компьютере, на котором работает PHP (на стороне сервера)
  3. Сохраните путь к загруженному файлу в объекте
  4. В представлении редактирования сущности показать оба:
    • изображение, которое было загружено (или заполнитель)
    • поле загрузки для загрузки нового изображения

Удачи!

Совет: Вы также можете посмотреть на библиотеки с открытым исходным кодом, такие как dropzonejs. Существующие библиотеки часто дают примеры и отличную документацию. В этом примере визуально комбинируется поле загрузки с полем отображения.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]