Pdo\Pgsql::lobCreate
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Pdo\Pgsql::lobCreate
Референца за `pdo-pgsql.lobcreate.php` со подобрена типографија и навигација.
Pdo\Pgsql::lobCreate
Класата Dom\DtdNamedNodeMap
Pdo\Pgsql::lobCreate — Creates a new large object
= NULL
PDO::pgsqlLOBCreate() Создава нов голем објект PDO::pgsqlLOBOpen().
создава голем објект и враќа OID што се однесува на него. Може да се отвори за читање или запишување податоци со PDO::pgsqlLOBUnlink().
OID може да се чува во колони од тип OID и да се користи за упатување на големиот објект, без да предизвика произволно зголемување на редот. Големиот објект ќе продолжи да живее во базата на податоци додека не се отстрани со повикување PDO::pgsqlLOBUnlink() се повикува пред бришење на последниот ред што упатува на OID во целата база на податоци; инаку, големите објекти без упатување ќе останат на серверот неодредено. Покрај тоа, големите објекти немаат контроли за пристап. Алтернатива е типот на колона bytea, која може да биде до 1 GB во големина, и овој тип на колона транспарентно управува со складирањето за оптимална големина на редот.
Забелешка: Оваа функција, и сите манипулации со големиот објект, мора да се повикаат и извршат во рамките на трансакција.
Параметри
Оваа функција нема параметри.
Вратени вредности
Враќа OID на новосоздадениот голем објект при успех, или false при неуспех.
Примери
Пример #1 PDO::pgsqlLOBCreate() example
Овој пример создава нов голем објект и ги копира содржините на датотека во него. Потоа OID се чува во табела.
<?php
$db = new Pdo\Pgsql('pgsql:dbname=test host=localhost', $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->beginTransaction();
$oid = $db->lobCreate();
$stream = $db->lobOpen($oid, 'w');
$local = fopen($filename, 'rb');
stream_copy_to_stream($local, $stream);
$local = null;
$stream = null;
$stmt = $db->prepare("INSERT INTO BLOBS (ident, oid) VALUES (?, ?)");
$stmt->execute([$some_id, $oid]);
$db->commit();
?>Види Исто така
- PDO::pgsqlLOBOpen() - Отвора постоечки поток на голем објект
- PDO::pgsqlLOBUnlink() - Бришење на големиот објект
- pg_lo_create() - Создај голем објект
- pg_lo_open() - Отвори голем објект