
OCILob::read 함수는 Oracle Database에서 BLOB 데이터를 읽어오는 함수입니다.
함수의 반환값은 읽어온 데이터의 크기입니다.
BLOB 데이터를 충분히 읽어오지 못하는 경우, 함수의 두 번째 인자인 buf_len을 증가시켜야 합니다.
예를 들어, 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
php
$lob = oci_new_descriptor($conn, OCI_D_LOB);
$lob->write($blob_data, strlen($blob_data));
$buf = '';
$buf_len = 1024;
while (true) {
$read_len = $lob->read($buf, $buf_len);
if ($read_len == 0) break;
$buf = substr($buf, 0, $read_len);
}
이 예제에서는 BLOB 데이터를 1024바이트씩 읽어옵니다.
만약 BLOB 데이터의 크기가 1024의 배수가 아닌 경우, 마지막에 읽어온 데이터의 크기는 1024보다 작을 수 있습니다.
이 경우, buf를 잘라서 사용해야 합니다.
또한, OCILob::read 함수는 Oracle Database의 버전과 플랫폼에 따라 동작이 다를 수 있습니다.
따라서, Oracle Database의 공식 문서를 참조하여 함수의 사용법을 확인하는 것이 좋습니다.
2025-07-04 14:29