我现在正在论坛上很忙,我想让访问者也可以通过论坛发布带有图像和文本的消息。但是,我不知道如何将其保存在数据库中,而不是将其读取为图像。你有什么主意吗?
问题已经解决,我将创建一个额外的列,称为imgUrl(或类似的东西),如果此列具有任何值,我将在值周围放置img标签。
选项1:将图片上传添加到您的网站,并将图片的url保存到数据库。
选项2:使用base64_encode()
将图像转换为文本。
$image = file_get_contents($_FILES['your_fileupload_name']['tmp_name']);
$ext = pathinfo($_FILES['image']['name'], PATHINFO_EXTENSION);
$base64 = 'data:image/' . $ext . ';base64,' . base64_encode($image);
然后将$base64
保存到数据库,并且在读取数据库时可以使用base64_decode()
将其转换为图像。
我更喜欢选项1,因为它效率更高。 Base64编码将图像大小增加了33%。