函数名:cubrid_lob2_seek()
函数功能:在 CUBRID Lob 对象中,设置位置指针到指定的偏移量。
适用版本:CUBRID 9.1.0 以上版本。
语法:bool cubrid_lob2_seek ( resource $lob_identifier , int $offset [, int $origin = CUBRID_CURSOR_FIRST ] )
参数:
- $lob_identifier:CUBRID Lob 对象的标识符。可通过 cubrid_lob2_new() 创建。
- $offset:要设置的偏移量,即新位置相对于 origin 参数的偏移量。
- $origin:可选参数,表示取偏移量的参考点。默认值为 CUBRID_CURSOR_FIRST,表示相对于 Lob 对象开头的偏移量。可以选择以下常量:
- CUBRID_CURSOR_FIRST:相对于开头的偏移量。
- CUBRID_CURSOR_CURRENT:相对于当前位置的偏移量。
- CUBRID_CURSOR_LAST:相对于结尾的偏移量。
返回值:
- 成功时返回 true。
- 失败时返回 false。
示例:
// 创建 CUBRID Lob 对象
$lob_identifier = cubrid_lob2_new($conn);
// 向 Lob 对象中写入数据
cubrid_lob2_write($lob_identifier, "Hello, World!");
// 设置位置指针到指定偏移量
cubrid_lob2_seek($lob_identifier, 7, CUBRID_CURSOR_FIRST);
// 从当前位置读取数据
$data = cubrid_lob2_read($lob_identifier, 5);
echo $data; // 输出 "World!"
// 关闭连接
cubrid_lob2_close($lob_identifier);
注意事项:
- 此函数需要配合 CUBRID Lob 对象一起使用。可通过 cubrid_lob2_new() 创建 Lob 对象,通过其他函数对 Lob 对象进行操作。
- 必须在写入或读取数据之前使用此函数设置位置指针。
- 使用该函数时,应确保 Lob 对象已成功打开,以及有效的连接。
- 如果指定的偏移量超出 Lob 对象的范围,读取数据将会返回空字符串。
- 如果指定的偏移量小于 0,CUBRID_CURSOR_FIRST 和 CUBRID_CURSOR_CURRENT 的情况下,位置指针将被设置到 Lob 对象的开头;CUBRID_CURSOR_LAST 的情况下,位置指针将被设置到 Lob 对象的结尾。