cubrid_lob2_read
cubrid_lob2_seek
CUBRID 関数
PHP Manual

# cubrid_lob2_seek64

(PECL CUBRID >= 8.4.1)

cubrid_lob2_seek64 — Move the cursor of a lob object.

### 説明

bool cubrid_lob2_seek64 ( resource `$lob_identifier` , string `$offset` [, int `$origin` = CUBRID_CURSOR_CURRENT ] )

The cubrid_lob2_seek64() function is used to move the cursor position of a lob object by the value set in the `offset` argument, to the direction set in the `origin` argument. If the `offset` you want to move is larger than an integer data can be stored, you can use this function.

To set the `origin` argument, you can use CUBRID_CURSOR_FIRST to set the cursor position moving forward `offset` units from the first beginning. In this case, `offset` must be a positive value.

If you use CUBRID_CURSOR_CURRENT for `origin`, you can move forward or backward. and `offset` can be positive or negative.

If you use CUBRID_CURSOR_LAST for `origin`, you can move backward `offset` units from the end of LOB object and `offset` only can be positive.

> 注意:

> If you use this function to move the cursor position of the lob object, you should pass `offset` as a string.

### パラメータ

`lob_identifier`

  Lob identifier as a result of cubrid_lob2_new() or get from the result set.

`offset`

  Number of units you want to move the cursor.

`origin`

  This parameter can be the following values:

  CUBRID_CURSOR_FIRST: move forward from the first beginning.

  CUBRID_CURSOR_CURRENT: move forward or backward from the current position.

  CUBRID_CURSOR_LAST: move backward at the end of LOB object.

### 返り値

`TRUE` if the process is successful and `FALSE` for failure.

### 例

例1 cubrid_lob2_seek64() example

`<?php
// test_lob (id INT, contents CLOB)
// Data length of doc_1.txt should be greater than 20101029056306120215.
$conn = cubrid_connect("localhost", 33000, "demodb", "dba", "");
cubrid_execute($conn,"DROP TABLE if exists test_lob");
cubrid_execute($conn,"CREATE TABLE test_lob (id INT, contents CLOB)");
$req = cubrid_prepare($conn, "INSERT INTO test_lob VALUES (?, ?)");
cubrid_bind($req, 1, 1);
$lob = cubrid_lob2_new($conn, "clob");
cubrid_lob2_import($lob, "doc_1.txt");
cubrid_lob2_bind($req, 2, $lob, 'CLOB'); // or cubrid_lob2_bind($req, 2, $lob);
cubrid_execute($req);
cubrid_lob2_close($lob);
$req = cubrid_execute($conn, "select * from test_lob");
$row = cubrid_fetch_row($req, CUBRID_LOB);
$lob = $row[1];
cubrid_lob2_seek64($lob, "20101029056306120215", CUBRID_CURSOR_FIRST);
$data = cubrid_lob2_read($lob, 20);
echo $data."\n";
cubrid_disconnect($conn);
?>`

### 参考

- cubrid_lob2_read() - Read from BLOB/CLOB data.
- cubrid_lob2_write() - Write to a lob object.
- cubrid_lob2_seek() - Move the cursor of a lob object.
- cubrid_lob2_tell() - Tell the cursor position of the LOB object.
- cubrid_lob2_tell64() - Tell the cursor position of the LOB object.
- cubrid_lob2_size() - Get a lob object's size.
- cubrid_lob2_size64() - Get a lob object's size.

cubrid_lob2_read
cubrid_lob2_seek
CUBRID 関数
PHP Manual