Php 如何将图像保存到数据库?
我希望用户从预定义的图标集中选择一个图像,然后在提交表单后,图像将保存在数据库中。(我还想知道在将其保存到数据库中时使用的最佳数据类型是什么) 我想这样做,因为我不想让用户上传图像 另外,我对php和jQuery还是新手,所以我在这方面也需要帮助Php 如何将图像保存到数据库?,php,jquery,html,css,sql,Php,Jquery,Html,Css,Sql,我希望用户从预定义的图标集中选择一个图像,然后在提交表单后,图像将保存在数据库中。(我还想知道在将其保存到数据库中时使用的最佳数据类型是什么) 我想这样做,因为我不想让用户上传图像 另外,我对php和jQuery还是新手,所以我在这方面也需要帮助 代码: /*添加新任务按钮*/ .添加btn深色 { 颜色:黑色; /*浮动:对*/ 显示:内联块; 垂直对齐:中间对齐; 边框:1px纯黑; 右边距:0; } .添加btn暗跨距i..添加btn暗跨距 { 显示:内联块; 垂直对齐:中间对齐;
代码:
/*添加新任务按钮*/
.添加btn深色
{
颜色:黑色;
/*浮动:对*/
显示:内联块;
垂直对齐:中间对齐;
边框:1px纯黑;
右边距:0;
}
.添加btn暗跨距i..添加btn暗跨距
{
显示:内联块;
垂直对齐:中间对齐;
}
.添加btn黑暗:悬停
{
光标:指针!重要;
颜色:白色;
背景色:黑色;
}
.添加btn黑暗:焦点
{
盒影:0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
}
/*图标集*/
.iconSet
{
左缘:2%;
显示:内联块;
垂直对齐:中间对齐;
边框:1px纯黑;
填充物:5px;
宽度:60%;
}
.iconSet img
{
填充物:5px;
左边距:5px;
右边距:5px;
显示:内联块;
垂直对齐:中间对齐;
}
.iconSet img:悬停
{
光标:指针!重要;
/*填充物:5px*/
边框:0.5px纯黑;
盒影:0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
}
示例任务页
/*添加新任务按钮*/
.添加btn深色
{
颜色:黑色;
/*浮动:对*/
显示:内联块;
垂直对齐:中间对齐;
边框:1px纯黑;
右边距:0;
}
.添加btn暗跨距i..添加btn暗跨距
{
显示:内联块;
垂直对齐:中间对齐;
}
.添加btn黑暗:悬停
{
光标:指针!重要;
颜色:白色;
背景色:黑色;
}
.添加btn黑暗:焦点
{
盒影:0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
}
/*图标集*/
.iconSet
{
左缘:2%;
显示:内联块;
垂直对齐:中间对齐;
边框:1px纯黑;
填充物:5px;
宽度:60%;
}
.iconSet img
{
填充物:5px;
左边距:5px;
右边距:5px;
显示:内联块;
垂直对齐:中间对齐;
}
.iconSet img:悬停
{
光标:指针!重要;
/*填充物:5px*/
边框:0.5px纯黑;
盒影:0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
}
分配添加新任务
添加新任务
&时代;
*必填字段
*任务名称:/50个字符以内/
空旷的田野!
还剩下50个字符
*任务位置:
主要
屋顶
空旷的田野!
*任务描述:/800个字符以内/
空旷的田野!
剩余800个字符
*任务图标:
添加任务
取消
//字符计数和任务描述或文本区域限制
$(“.taskDescArea”).keyup(函数(){
var maxLength=800;
var length=$(this).val().length;
长度=最大长度;
$(“.char count”).text(长度);
});
//字符计数和对任务名称的限制
$(“#taskNameField”).keyup(函数(){
var maxLength=50;
var length=$(this).val().length;
长度=最大长度;
$(“.name char count”).text(长度);
});
如果它是预定义的图标列表,您可能只想存储所选图标的唯一标识符(可以是名称或数字),只要它允许您根据该标识符显示正确的图像
在您的情况下,文件名似乎可以达到这个目的(例如“垃圾图标”或“水槽标识”)。或者,如果您在某个位置定义了所有图标文件名的有序列表,您也可以在该列表中存储数字索引。
保存到数据库
INSERT INTO `table` (`emp_image`) VALUES ('$img'); //datatype => LONGTEXT
从数据库加载图像:
$saved_img = $results['emp_image'];
<img src="data:image/jpeg;base64,<?=$saved_img;?>"/>
$saved_img=$results['emp_image'];
"/>
但更好的方法是将图像转换为图标
- 将png转换为svg
- 将svg加载到icomoon
- 生成字体和
$saved_img = $results['emp_image'];
<img src="data:image/jpeg;base64,<?=$saved_img;?>"/>