(PHP 8 >= 8.4.0)
Pdo\Pgsql::copyFromFile — Copia datos de un fichero a una tabla
$tableName,$filename,$separator = "\t",$nullAs = "\\\\N",$fields = null
Copia datos de un fichero especificado por filename
a la tabla tableName utilizando
separator como delimitador de campos y la lista fields
tableNameUna cadena de caracteres que contiene el nombre de la tabla.
filenameEl nombre del fichero desde el cual importar los datos.
separator
Un delimitador utilizado para separar los campos en una entrada del
array rows.
nullAs
Cómo interpretar los valores NULL.
fieldsLa lista de campos a insertar.
Si filename no puede abrirse para lectura, el fallo
se notifica a través del manejo de errores de la conexión
(véase PDO::ATTR_ERRMODE); con
PDO::ERRMODE_EXCEPTION se lanza una
PDOException.
Ejemplo #1 Ejemplo de Pdo\Pgsql::copyFromFile()
El fichero contiene un registro por línea, con los campos unidos por
separator (un tabulador por defecto).
<?php
$db = new Pdo\Pgsql('pgsql:dbname=test host=localhost', $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->exec('CREATE TABLE fruits (id int, name text, qty int)');
file_put_contents('/tmp/fruits.tsv', "1\tapple\t10\n2\tbanana\t20\n");
$db->copyFromFile('fruits', '/tmp/fruits.tsv');
echo $db->query('SELECT count(*) FROM fruits')->fetchColumn(), "\n";
?>El ejemplo anterior mostrará:
2