我必须将Oracle
数据库中存储的图像显示为OCI-Lob
对象。
我使用了以下代码:
if(oci_fetch_array($rssqlclass,OCI_ASSOC | OCI_RETURN_LOBS)) {
$a = oci_result($rssqlclass,"image");
}
header('Content-type: application/octet-stream;');
header('Content-disposition: attachment;filename='.$_GET['name']);
print $a->load();
我在上面找到了一些关于Google的研究代码。但那些似乎没有用。如何通过PHP
提取存储在Oracle数据库中的图像。
提前致谢。
答案 0 :(得分:1)
其实我的问题已经解决了。我在这里发布解决方案,以便其他任何面临同样问题的人都可以从中受益。
$sql="select photo from tblphoto where id='$id' ";
$query= oci_parse($connect, $sql);
oci_execute($query);
$showrow = oci_fetch_row($query);
if(!$showrow){
return;
}else{
$image=$showrow['0']->load();
header("Content-type: image/JPEG");
print $image;
}
我希望有一天能帮助别人。 BTW感谢大家的评论。 :)
答案 1 :(得分:0)
由于您使用的是OCI_RETURN_LOBS,因此您应该已经在第3行的$ a中使用了BLOB。您没有获取返回的数组,请尝试以下代码:
if($res = oci_fetch_array($rssqlclass,OCI_ASSOC | OCI_RETURN_LOBS)) {
$a = $res['image'];
}
header('Content-type: application/octet-stream;');
header('Content-disposition: attachment;filename='.$_GET['name']);
print $a;