本文整理汇总了PHP中pg_loclose函数的典型用法代码示例。如果您正苦于以下问题:PHP pg_loclose函数的具体用法?PHP pg_loclose怎么用?PHP pg_loclose使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了pg_loclose函数的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: DB_lo_close
function DB_lo_close($id)
{
if (strcmp(phpversion(), '4.2.0') < 0) {
return pg_loclose($id);
} else {
return pg_lo_close($id);
}
}
示例2: BlobDecode
function BlobDecode($blob, $maxsize = false, $hastrans = true)
{
if (!$this->GuessOID($blob)) {
return $blob;
}
if ($hastrans) {
@pg_exec($this->_connectionID, "begin");
}
$fd = @pg_lo_open($this->_connectionID, $blob, "r");
if ($fd === false) {
if ($hastrans) {
@pg_exec($this->_connectionID, "commit");
}
return $blob;
}
if (!$maxsize) {
$maxsize = $this->maxblobsize;
}
$realblob = @pg_loread($fd, $maxsize);
@pg_loclose($fd);
if ($hastrans) {
@pg_exec($this->_connectionID, "commit");
}
return $realblob;
}
示例3: BlobDecode
function BlobDecode($blob)
{
@pg_exec("begin");
$fd = @pg_lo_open($blob, "r");
if ($fd === false) {
@pg_exec("commit");
return $blob;
}
$realblob = @pg_loreadall($fd);
@pg_loclose($fd);
@pg_exec("commit");
return $realblob;
}
示例4: BlobDecode
function BlobDecode($blob, $maxsize = false, $hastrans = true)
{
if (!$this->GuessOID($blob)) {
return $blob;
}
if ($hastrans) {
pg_query($this->_connectionID, 'begin');
}
$fd = @pg_lo_open($this->_connectionID, $blob, 'r');
if ($fd === false) {
if ($hastrans) {
pg_query($this->_connectionID, 'commit');
}
return $blob;
}
if (!$maxsize) {
$maxsize = $this->maxblobsize;
}
$realblob = @pg_lo_read($fd, $maxsize);
@pg_loclose($fd);
if ($hastrans) {
pg_query($this->_connectionID, 'commit');
}
return $realblob;
}
示例5: GetLOBFieldValue
function GetLOBFieldValue($prepared_query, $parameter, $lob, &$value)
{
if (!$this->Connect()) {
return 0;
}
if ($this->auto_commit && !@pg_Exec($this->connection, "BEGIN")) {
return 0;
}
$success = 1;
if ($lo = pg_locreate($this->connection)) {
if ($handle = pg_loopen($this->connection, $lo, "w")) {
while (!MetabaseEndOfLOB($lob)) {
if (MetabaseReadLOB($lob, $data, $this->lob_buffer_length) < 0) {
$this->SetError("Get LOB field value", MetabaseLOBError($lob));
$success = 0;
break;
}
if (!pg_lowrite($handle, $data)) {
$this->SetError("Get LOB field value", pg_ErrorMessage($this->connection));
$success = 0;
break;
}
}
pg_loclose($handle);
if ($success) {
$value = strval($lo);
}
} else {
$this->SetError("Get LOB field value", pg_ErrorMessage($this->connection));
$success = 0;
}
if (!$success) {
pg_lounlink($this->connection, $lo);
}
} else {
$this->SetError("Get LOB field value", pg_ErrorMessage($this->connection));
$success = 0;
}
if ($this->auto_commit) {
@pg_Exec($this->connection, "END");
}
return $success;
}
示例6: BlobDecode
function BlobDecode($blob)
{
if (strlen($blob) > 24) {
return $blob;
}
@pg_exec($this->_connectionID, "begin");
$fd = @pg_lo_open($this->_connectionID, $blob, "r");
if ($fd === false) {
@pg_exec($this->_connectionID, "commit");
return $blob;
}
$realblob = @pg_loreadall($fd);
@pg_loclose($fd);
@pg_exec($this->_connectionID, "commit");
return $realblob;
}
示例7: _getLobValue
/**
* Convert a text value into a DBMS specific format that is suitable to
* compose query statements.
*
* @param resource $prepared_query query handle from prepare()
* @param $parameter
* @param $lob
* @return string text string that represents the given argument value in
* a DBMS specific format.
* @access private
*/
function _getLobValue($prepared_query, $parameter, $lob)
{
$connect = $this->connect();
if (MDB::isError($connect)) {
return $connect;
}
if ($this->auto_commit && !@pg_exec($this->connection, 'BEGIN')) {
return $this->raiseError(MDB_ERROR, NULL, NULL, '_getLobValue: error starting transaction');
}
if ($lo = @pg_locreate($this->connection)) {
if ($handle = @pg_loopen($this->connection, $lo, 'w')) {
while (!$this->endOfLob($lob)) {
$result = $this->readLob($lob, $data, $this->options['lob_buffer_length']);
if (MDB::isError($result)) {
break;
}
if (!@pg_lowrite($handle, $data)) {
$result = $this->raiseError(MDB_ERROR, NULL, NULL, 'Get LOB field value: ' . @pg_errormessage($this->connection));
break;
}
}
@pg_loclose($handle);
if (!MDB::isError($result)) {
$value = strval($lo);
}
} else {
$result = $this->raiseError(MDB_ERROR, NULL, NULL, 'Get LOB field value: ' . @pg_errormessage($this->connection));
}
if (MDB::isError($result)) {
$result = @pg_lounlink($this->connection, $lo);
}
} else {
$result = $this->raiseError(MDB_ERROR, NULL, NULL, 'Get LOB field value: ' . pg_ErrorMessage($this->connection));
}
if ($this->auto_commit) {
@pg_exec($this->connection, 'END');
}
if (MDB::isError($result)) {
return $result;
}
return $value;
}
示例8: _destroyResultLOB
/**
* Free any resources allocated during the lifetime of the large object
* handler object.
*
* @param int $lob handle to a lob created by the createLOB() function
* @access private
*/
function _destroyResultLOB($lob)
{
$db =& $GLOBALS['_MDB2_databases'][$this->db_index];
if (isset($db->lobs[$lob])) {
if (isset($db->lobs[$lob]['value'])) {
@pg_loclose($db->lobs[$lob]['handle']);
if (isset($db->lobs[$lob]['in_transaction'])) {
@pg_Exec($db->connection, 'END');
}
}
$db->lobs[$lob] = '';
}
}