我通过将它们保存为blob格式来保存数据库中的pdf / word文档。 现在我想把它读成字符串。 我的目的只是将保存的blob内容作为字符串读取,以便我可以搜索文本。
例如:如果上传了几种不同类型的文档,我想在其中搜索文本。
可以实现吗?
提前致谢。
答案 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)列。