pg_lo_open

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_lo_openOpen a large object

Açıklama

pg_lo_open(PgSql\Connection $connection, int $oid, string $mode): PgSql\Lob|false

pg_lo_open() opens a large object in the database and returns an PgSql\Lob instance so that it can be manipulated.

Uyarı

Do not close the database connection before closing the PgSql\Lob instance.

To use the large object interface, it is necessary to enclose it within a transaction block.

Bilginize:

This function used to be called pg_loopen().

Bağımsız Değişkenler

connection

PgSql\Connection nesnesi. bağlantı belirtilmemişse öntanımlı bağlantı kullanılır. Öntanımlı bağlantı pg_connect() veya pg_pconnect() işleviyle kurulmuş son bağlantıdır.

Uyarı

PHP 8.1.0 ve sonrasında, öntanımlı bağlantının kullanımı önerilmemektedir.

oid

The OID of the large object in the database.

mode

Can be either "r" for read-only, "w" for write only or "rw" for read and write.

Dönen Değerler

An PgSql\Lob instance, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: Açıklama
8.1.0 Returns an PgSql\Lob instance now; previously, a resource was returned.
8.1.0 bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_lo_open() example

<?php
$database
= pg_connect("dbname=jacarta");
pg_query($database, "begin");
$oid = pg_lo_create($database);
echo
"$oid\n";
$handle = pg_lo_open($database, $oid, "w");
echo
"$handle\n";
pg_lo_write($handle, "large object data");
pg_lo_close($handle);
pg_query($database, "commit");
?>

Ayrıca Bakınız

add a note

User Contributed Notes 1 note

up
1
metator at netcabo dot pt
19 years ago
Just for the record, a user must be a superuser (database owner) in order to invoke pg_lo_open() (though pg_lo_create() may be invoked...). This opens a gigantic security hole in the db. If a user is not a superuser, db will raise an error with message "Can't create Large Object.".
Thus, imho, one should use pg_escape_bytea() instead.
To Top