使用oracle存储文件图片等数据,必须将文件数据存入数据库中blob对象中,如果你使用php进行此操作,那么必须使用事务 处理,否则无法解决,使用其它语言操作还没试验过!!此处使用pdo进行操作,如果要使用压缩,那么可以将压缩好的数据作为内容,装入blob
下文 提到的此方法,仅适用于php5之后的版本
<?
$sql = ”
insert into USER_INFO
(
USERIMG //这个字段是blob类型
)values(
EMPTY_BLOB()
)
RETURNING USERIMG INTO :blob //此处注意字段名
“;
insert into USER_INFO
(
USERIMG //这个字段是blob类型
)values(
EMPTY_BLOB()
)
RETURNING USERIMG INTO :blob //此处注意字段名
“;
foreach($param as $key=>$value){
$sql = str_replace(“:$key”,$value,$sql);
}
$conn->beginTransaction();
$statm = $conn->prepare($sql);
$statm->bindParam(“:blob”,$lob,PDO::PARAM_LOB); //绑定参数
//$lob = fopen(“c:/test.jpg”,”rb”); //可以直接使用文件资源
$lob = $param['al_userimg']; //也可以直接使用从文件中读出的数据,甚至可以是压缩的文件
$statm->execute();
$conn->commit(); //提交后文件会进入数据库,保证没有错,输出的时候指定好头
?>
![]()
![]()
