Pdo\Pgsql::lobOpen

(PHP 8 >= 8.4.0)

Pdo\Pgsql::lobOpen β€” ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΡ‚ΠΎΠΊ большого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

ОписаниС

public function Pdo\Pgsql::lobOpen(string $oid, string $mode = "rb"): resource|false

ΠœΠ΅Ρ‚ΠΎΠ΄ Pdo\Pgsql::lobOpen() ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΡ‚ΠΎΠΊ для доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ссылаСтся ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ oid. Π Π°Π±ΠΎΡ‚Ρƒ с содСрТимым ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ всС стандартныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ fread(), fwrite() ΠΈΠ»ΠΈ fgets().

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:

Ѐункция ΠΈ всС манипуляции с большим ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ.

Бписок ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

oid

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ большого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

mode

Π Π΅ΠΆΠΈΠΌ доступа. ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ mode значСния w ΠΈΠ»ΠΈ + ΠΏΠΎΡ‚ΠΎΠΊ открываСтся для чтСния ΠΈ записи; ΠΈΠ½Π°Ρ‡Π΅ ΠΏΠΎΡ‚ΠΎΠΊ открываСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния. Π€Π»Π°Π³ b, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ устанавливаСтся Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ, игнорируСтся. ΠŸΡ€Π΅Π΄ΡƒΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ "rb" ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΡ‚ΠΎΠΊ для чтСния.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния

ΠŸΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ рСсурс ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΈΠ»ΠΈ false, Ссли Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ошибка.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #1 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ открытия большого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Pdo\Pgsql::lobOpen()

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Pdo\Pgsql::lobCreate(), ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ большой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€.

<?php

$db = new Pdo\Pgsql('pgsql:dbname=test host=localhost', $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$db->beginTransaction();
$stmt = $db->prepare("SELECT oid FROM BLOBS WHERE ident = ?");
$stmt->execute([$some_id]);
$stmt->bindColumn('oid', $oid, PDO::PARAM_STR);

$stmt->fetch(PDO::FETCH_BOUND);
$stream = $db->lobOpen($oid, 'r');

header("Content-type: application/octet-stream");
fpassthru($stream);

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅

  • Pdo\Pgsql::lobCreate() - Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ большой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (LOB)
  • Pdo\Pgsql::lobUnlink() - УдаляСт большой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚
  • pg_lo_create() - Π‘ΠΎΠ·Π΄Π°Ρ‘Ρ‚ большой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚
  • pg_lo_open() - ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ большой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…
οΌ‹Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π΅Ρ‰Ρ‘ Π½Π΅ добавляли примСчания для страницы