SQLServer2008的image字段类型支持将图片、文本文件等直接存入数据库,image类型是以十六进制的格式存储的,所以我们想把图片直接写入数据库,只需要以二进制流的方式读取要存储的图片然后转为十六进制字符串存入数据库即可。
具体过程:
<?php
$image = "test.jpg";
//打开图片,b参数是为兼容windows系统
$fp = fopen($image, "rb");
//读取图片内容
$content = fread($fp, filesize($image));
//将内容字符串转为十六进制字符串
$content = "0x".bin2hex($content);
php连接SQLServer代码不做介绍
得到上面的图片内容之后,可以使用下面的sql语句将内容写入数据库
INSERT INTO TABLE (testimage) values($content)
注意:$content不要加单引号(')