(PHP 8 >= 8.4.0)
Pdo\Pgsql::copyFromFile — Copia dados do arquivo para a tabela
$tableName,$filename,$separator = "\t",$nullAs = "\\\\N",$fields = null
Copia dados do arquivo especificado por filename na tabela tableName
usando separator como delimitador de campos
e lista de campos no parâmetro fields.
tableNamefilenameseparatorrows.
nullAsNULL.
fields
Se filename não puder ser aberto para leitura, a falha
é reportada através da manipulação do erro da conexão
(consulte PDO::ATTR_ERRMODE); com
PDO::ERRMODE_EXCEPTION, uma
PDOException é lançada.
Exemplo #1 Exemplo de Pdo\Pgsql::copyFromFile()
O arquivo tem um registro por linha com campos conectados por
separator (uma tabulação por padrão).
<?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";
?>O exemplo acima produzirá:
2