Посмотреть
<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();
}
смена изображения работает нормально, но если я не изменю изображение, оно не выбирает значение по умолчанию для изображения
Короткий ответ: input
типа file
не может иметь значение по умолчанию.
Вместо этого используйте <img />
-Tag, чтобы показать изображения по умолчанию. Например:
<img src=" <?php echo Website_Assets.'images/'.$products['product_image_name'];?>" />
Нормальный ответ: Предполагая, что вы пытаетесь загрузить изображение, сохраните его в объекте, который находится за формой, а затем отредактируйте его; попытайтесь обдумать, используя только одно поле. Вместо этого возможно последовательность как это:
Удачи!
Совет: Вы также можете посмотреть на библиотеки с открытым исходным кодом, такие как dropzonejs. Существующие библиотеки часто дают примеры и отличную документацию. В этом примере визуально комбинируется поле загрузки с полем отображения.
Других решений пока нет …