【发布时间】:2020-10-15 01:17:00
【问题描述】:
我正在尝试使用 PHP 显示在 oracle 中存储为 blob 的图像。我正在使用 adodb 库。
代码如下:
<?php
$db=conGenedesa();
$query ="SELECT * FROM 'TABLE' p WHERE p.ID = $id";
$result = odbc_exec($db, $query);
$name;
$dni;
$jobID;
$base;
while(odbc_fetch_row($result)){
$name = odbc_result($result, 'PER_APELLIDO_PATERNO') . ' ' . odbc_result($result, 'PER_APELLIDO_MATERNO') . ' ' . odbc_result($result, 'PER_NOMBRES');
$dni = $rut . '-' . odbc_result($result, 'PER_RUT_DV');
$jobID = odbc_result($result, 'PER_CAR_CODIGO');
$base = odbc_result($result, 'PER_MOVIL_IMG');
}
$src;
if($base == null){
echo 'null';
}
else{
$src='data:image/jpeg;base64,'.base64_encode($base);
}
?>
<img src="<?php echo $src; ?>" />
我知道图像没有损坏,因为我可以从另一个使用 dotnet 的应用程序中看到它。
更新:
最后,PHP 截断了 blobs 输出。我纠正了它插入这一行。
ini_set('odbc.defaultlrl', '10M');
【问题讨论】:
-
那么你会得到什么结果呢?
-
附言。你确定你的意思是adodb?你的代码是 odbc。
-
我得到一个损坏的 base64 字符串,所以图像显示为损坏。它是 ADOdb,来自adodb.sourceforge.net。我没有选择库,项目中已经存在
标签: php oracle image blob adodb