如何从BLOB格式读取文本?

时间:2012-05-21 10:53:12

标签: php apache2 type-conversion blob binary-data

我通过将它们保存为blob格式来保存数据库中的pdf / word文档。 现在我想把它读成字符串。 我的目的只是将保存的blob内容作为字符串读取,以便我可以搜索文本。

例如:如果上传了几种不同类型的文档,我想在其中搜索文本。

可以实现吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

首先,BLOB是一个BINARY LOB并且您正确使用它 - 将文件存储到数据库中。因为它是BINARY,所以此列中的数据以二进制形式存储。因此,我不确定您是否可以在二进制数据中搜索文本...

无论如何,您应该可以通过以下方式执行此操作:

$conn = oci_connect('user', 'pass', 'server');
$q = "SELECT blob_column FROM my_blob_table WHERE my_blob_id = :id";
$stmt = oci_parse($conn, $q);
oci_bind_by_name($stmt, ':id', $id);
oci_execute($stmt);
$res = oci_fetch_assoc($stmt);
$blob = $res['blob_column']->read($res['blob_column']->size());
var_dump($blob);

如果要将数据存储为文本,请改用CLOB(CHARACTER LOB)列。