如何用PHP将默认图像插入数据库

如何用PHP将默认图像插入数据库,php,jquery,laravel,Php,Jquery,Laravel,更新: 我有一个表单,其中有图像上传字段,但没有必填字段。现在我想知道,如果任何人提交表单而不上传图像,那么默认图像将被插入到数据库中。如何使用PHP实现这一点 <form method="POST" action="{{ route($base_route.'.eventEdit', ['event_id' => $event->event_code]) }}" accept-charset="UTF-8" id="general_form" novalidate="nova

更新: 我有一个表单,其中有图像上传字段,但没有必填字段。现在我想知道,如果任何人提交表单而不上传图像,那么默认图像将被插入到数据库中。如何使用PHP实现这一点

<form method="POST" action="{{ route($base_route.'.eventEdit', ['event_id' => $event->event_code]) }}" accept-charset="UTF-8" id="general_form" novalidate="novalidate">
     <input name="name" type="text" value="something" class="name">
     <input name="name" type="file" value="DefaultImageName"  class="image">
     <button class="btn btn-default"> Submit </button>
</form>

提交

如果使用jQuery无法执行此操作,只需将数据发送到服务器并在服务器端进行处理即可。保存到数据库。

jQuery是一个Javascript库,运行在您的web浏览器中。它无权访问您的数据库,也不应访问您的数据库

您的应用程序服务器可以访问您的数据库,您应该在那里默认映像

如果您的图像是表中的一个字段,您仍要在其中插入,并且希望在插入记录时指定默认图像,则需要更改表并为图像指定默认值。在这种情况下,你的问题可以通过做这样的改变来解决

如果您的案例没有上述简单,那么在插入图像的服务器上,您可以检查图像是否已发布,如果未发布,则插入默认图像


此外,如果复制标记的名称,则可能需要为两个输入的“名称”属性指定不同的值。

您可以在数据库的“图像”列中输入一个defult值,这样所有用户都将获得此图像,除非您指定不同的图像,因为它将覆盖它

$imageName = "default.jpg";
if (isset($_POST["name_of_the_image_file"])) {
      //move functionality of the image file
      $imageName = pathinfo($_FILES['picture']['name'], PATHINFO_FILENAME);
}

$sql = "UPDATE table_name SET name='Doe' and image_field='$imageName' WHERE id='$id'";
$conn->query($sql);

这个方法对我有用

这项工作应在serverside@JonasW. 如何在服务器端实现这一点?有什么想法吗?我会将
NULL
存储在数据库中,并在重新读取时用默认图像填充该字段。从表面上看问题,检查Laravel控制器中发送的表单数据,如果默认图像为空,则填写默认图像。我理解如果
isset
文件为
null
则插入图像,但不知道实际操作方法。我失败了很多次。你能告诉控制器你在哪里把图像保存到数据库吗?你能进一步解释一下怎么做吗?你有一个真正的代码片段来完成你所描述的吗?我有12个默认图像。如果任何人提交的表格没有上传任何图像,那么默认图像将从这12个图像随机上传。