我通过将pdf/word文档保存在DB中,方法是将它们保存为blob格式。现在我想将其读取为字符串。我的目的只是将保存的 blob 内容读取为字符串,以便我可以搜索文本。
例如:如果上传了几个不同类型的文档,我想在其中搜索文本。
呵呵,能实现吗?
提前谢谢。
首先,BLOB 是一个二进制 LOB,您正确地使用了它 - 将这些文件存储到数据库中。由于它是二进制的,因此此列中的数据也以二进制形式存储。因此,我不确定您是否可以在二进制数据中搜索文本...
无论如何,您应该能够通过以下方式执行此操作:
$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(字符 LOB(列。