(PECL CUBRID >= 8.4.1)
cubrid_lob2_seek64 — Déplace le curseur d'un objet LOB
$lob_identifier, string $offset, int $origin = CUBRID_CURSOR_CURRENT): bool
La fonction cubrid_lob2_seek64() est utilisée
pour déplacer la position du curseur dans un objet LOB d'une valeur
fournie par le paramètre offset, dans la direction
fournie par le paramètre origin.
Si la position offset est plus grande que la capacité
de stockage d'un entier, il est possible d'utiliser cette fonction.
Pour définir le paramètre origin, il est possible d'utiliser la constante CUBRID_CURSOR_FIRST pour définir la position
du curseur à laquelle on ajoute offset unités
depuis le début. Dans ce cas, offset doit être une valeur
positive.
Si l'on utilise CUBRID_CURSOR_CURRENT pour le paramètre origin,
il est possible de se déplacer vers l'arrière, comme vers l'avant. Et le paramètre
offset pourra être positif ou négatif.
Si l'on utilise la constante CUBRID_CURSOR_LAST pour le paramètre
origin, il est possible de se déplacer en arrière de
offset unités depuis la fin de l'objet LOB
et le paramètre offset ne pourra être que positif.
Note: Si l'on utilise cette fonction pour déplacer la position du curseur d'un objet LOB, il est recommandé de passer le paramètre
offsetsous la forme d'une chaîne de caractères.
lob_identifieroffsetoriginExemple #1 Exemple avec cubrid_lob2_seek64()
<?php
<?php
// test_lob (id INT, contents CLOB)
// La longueur des données de doc_1.txt doit être supérieure à 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);
?>