php base64存进数据库,php – Base64编码上传的文件,然后保存在数据库中

由于@Sjoerd和@zerkms正确地指出,您不需要这样做 – 一个blob列用于存储原始二进制数据,因此您可以绕过Base64进程并插入文件的原始数据.

如果要将图像存储在数据库中(顺便说一句,我个人不喜欢这样做),最好存储原始数据 – Base64编码数据使其更大,意味着必须在渲染图像,这增加了处理开销.

这是你可以插入原始二进制数据(假设MySQL扩展名):

$data = file_get_contents($_FILES['name_of_control']['tmp_name']);

$data = mysql_real_escape_string($data);

$query = "

INSERT INTO table

(`blob_column`)

VALUES

('$data')

";

mysql_query($query);

如果你真的想要Base64编码(在这种情况下,它可以存储在varchar中),只需添加一个base64_encode()调用:

$data = file_get_contents($_FILES['name_of_control']['tmp_name']);

$data = base64_encode($data);

// There is an argument that this is unnecessary with base64 encoded data, but

// better safe than sorry :)

$data = mysql_real_escape_string($data);

$query = "

INSERT INTO table

(`varchar_column`)

VALUES

('$data')

";

mysql_query($query);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值