<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/class.pdo-pgsql.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'pdo-pgsql.lobcreate.php',
    1 => 'Pdo\\Pgsql::lobCreate',
    2 => 'Crear un nuevo objeto grande',
  ),
  'up' => 
  array (
    0 => 'class.pdo-pgsql.php',
    1 => 'Pdo\\Pgsql',
  ),
  'prev' => 
  array (
    0 => 'pdo-pgsql.getpid.php',
    1 => 'Pdo\\Pgsql::getPid',
  ),
  'next' => 
  array (
    0 => 'pdo-pgsql.lobopen.php',
    1 => 'Pdo\\Pgsql::lobOpen',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/pdo_pgsql/pdo/pgsql/lobcreate.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="pdo-pgsql.lobcreate" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">Pdo\Pgsql::lobCreate</h1>
  <p class="verinfo">(PHP 8 &gt;= 8.4.0)</p><p class="refpurpose"><span class="refname">Pdo\Pgsql::lobCreate</span> &mdash; <span class="dc-title">Crear un nuevo objeto grande</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-pdo-pgsql.lobcreate-description">
  <h3 class="title">Descripción</h3>
  <div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><strong>Pdo\Pgsql::lobCreate</strong></span>(): <span class="type"><span class="type"><a href="language.types.string.php" class="type string">string</a></span>|<span class="type"><a href="language.types.singleton.php" class="type false">false</a></span></span></div>

  <p class="simpara">
   <span class="methodname"><strong>Pdo\Pgsql::lobCreate()</strong></span> crea un objeto grande
   y devuelve el OID que lo referencia.
   Puede abrirse para leer o escribir datos con
   <span class="methodname"><a href="pdo-pgsql.lobopen.php" class="methodname">Pdo\Pgsql::lobOpen()</a></span>.
  </p>
  <p class="simpara">
   El OID puede almacenarse en columnas de tipo OID y utilizarse para referenciar
   el objeto grande, sin que la fila crezca de manera arbitraria.
   El objeto grande continuará existiendo en la base de datos hasta que
   sea eliminado mediante la llamada a <span class="methodname"><a href="pdo-pgsql.lobunlink.php" class="methodname">Pdo\Pgsql::lobUnlink()</a></span>.
  </p>
  <p class="simpara">
   Los objetos grandes son objetos voluminosos para utilizar.
   De hecho, es necesario llamar a <span class="methodname"><a href="pdo-pgsql.lobunlink.php" class="methodname">Pdo\Pgsql::lobUnlink()</a></span>
   antes de eliminar la última fila que referencia el OID en toda la base de datos;
   de lo contrario, los objetos grandes no referenciados permanecerán en el servidor indefinidamente.
   Además, los objetos grandes no tienen controles de acceso.
   Una alternativa es el tipo de columna bytea, que puede ser de hasta 1 Go de tamaño,
   y este tipo de columna gestiona de manera transparente el almacenamiento para un tamaño de fila óptimo.
  </p>
  <blockquote class="note"><p><strong class="note">Nota</strong>: 
   <span class="simpara">
    Esta función, y todas las manipulaciones del objeto grande,
    deben ser llamadas y realizadas dentro de una transacción.
   </span>
  </p></blockquote>
 </div>


 <div class="refsect1 parameters" id="refsect1-pdo-pgsql.lobcreate-parameters">
  <h3 class="title">Parámetros</h3>
  <p class="para">Esta función no contiene ningún parámetro.</p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-pdo-pgsql.lobcreate-returnvalues">
  <h3 class="title">Valores devueltos</h3>
  <p class="simpara">
   Devuelve el OID del nuevo objeto grande creado en caso de éxito,
    o <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> si ocurre un error.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-pdo-pgsql.lobcreate-examples">
  <h3 class="title">Ejemplos</h3>
  <div class="example" id="pdo-pgsql.lobcreate.example.basic">
   <p><strong>Ejemplo #1 Ejemplo de <span class="methodname"><strong>Pdo\Pgsql::lobCreate()</strong></span></strong></p>
   <div class="example-contents"><p>
    Este ejemplo crea un nuevo objeto grande y copia el contenido
    de un fichero dentro.
    El OID es almacenado posteriormente en una tabla.
   </p></div>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$db </span><span style="color: #007700">= new </span><span style="color: #0000BB">Pdo\Pgsql</span><span style="color: #007700">(</span><span style="color: #DD0000">'pgsql:dbname=test host=localhost'</span><span style="color: #007700">, </span><span style="color: #0000BB">$user</span><span style="color: #007700">, </span><span style="color: #0000BB">$pass</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$db</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setAttribute</span><span style="color: #007700">(</span><span style="color: #0000BB">PDO</span><span style="color: #007700">::</span><span style="color: #0000BB">ATTR_ERRMODE</span><span style="color: #007700">, </span><span style="color: #0000BB">PDO</span><span style="color: #007700">::</span><span style="color: #0000BB">ERRMODE_EXCEPTION</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$db</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">beginTransaction</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$oid </span><span style="color: #007700">= </span><span style="color: #0000BB">$db</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">lobCreate</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$stream </span><span style="color: #007700">= </span><span style="color: #0000BB">$db</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">lobOpen</span><span style="color: #007700">(</span><span style="color: #0000BB">$oid</span><span style="color: #007700">, </span><span style="color: #DD0000">'w'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$local </span><span style="color: #007700">= </span><span style="color: #0000BB">fopen</span><span style="color: #007700">(</span><span style="color: #0000BB">$filename</span><span style="color: #007700">, </span><span style="color: #DD0000">'rb'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">stream_copy_to_stream</span><span style="color: #007700">(</span><span style="color: #0000BB">$local</span><span style="color: #007700">, </span><span style="color: #0000BB">$stream</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$local </span><span style="color: #007700">= </span><span style="color: #0000BB">null</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$stream </span><span style="color: #007700">= </span><span style="color: #0000BB">null</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$stmt </span><span style="color: #007700">= </span><span style="color: #0000BB">$db</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">prepare</span><span style="color: #007700">(</span><span style="color: #DD0000">"INSERT INTO BLOBS (ident, oid) VALUES (?, ?)"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$stmt</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">execute</span><span style="color: #007700">([</span><span style="color: #0000BB">$some_id</span><span style="color: #007700">, </span><span style="color: #0000BB">$oid</span><span style="color: #007700">]);<br /></span><span style="color: #0000BB">$db</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">commit</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

  </div>
 </div>


 <div class="refsect1 seealso" id="refsect1-pdo-pgsql.lobcreate-seealso">
  <h3 class="title">Ver también</h3>
  <ul class="simplelist">
   <li><span class="methodname"><a href="pdo-pgsql.lobopen.php" class="methodname" rel="rdfs-seeAlso">Pdo\Pgsql::lobOpen()</a> - Abre un flujo sobre un objeto grande existente</span></li>
   <li><span class="methodname"><a href="pdo-pgsql.lobunlink.php" class="methodname" rel="rdfs-seeAlso">Pdo\Pgsql::lobUnlink()</a> - Elimina un objeto grande</span></li>
   <li><span class="function"><a href="function.pg-lo-create.php" class="function" rel="rdfs-seeAlso">pg_lo_create()</a> - Crea un objeto de gran tama&ntilde;o de PostgreSQL</span></li>
   <li><span class="function"><a href="function.pg-lo-open.php" class="function" rel="rdfs-seeAlso">pg_lo_open()</a> - Abre un objeto de gran tama&ntilde;o de PostgreSQL</span></li>
  </ul>
 </div>


</div><?php manual_footer($setup); ?>