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